moved require into its own file