Overhaul change_password