logic changes