implemented recoverPassword