re-wrote change_password and added valination