I moved some stuff into its own file.