multiple logic changes