updateYielding refactored