make generic the authentication and server create