move Collection into its own file