added user authentication and password reset