prototype of user auth