adds user model, signin, signout, and signup functionality