implemented sign up, log in, log out