moved collection macro into its own file