split everything into its own file