Added user authentication, users can sign up, sign in, and sign out