Split auth stuff into its own file