refactored some stuff and added documentation to password-reset