implemented sign up, log in and log out