common logic changes