diff logic changes