Reorganize change password code
Add change password ability