add user authentication and sign-in