add pw reset and authenticate in User model