added authentication, login, and registration