fully functional forgot password and reset password functions