add yield to call caculation