using intermediate part