finished logic changes