Move auth into its own module