refactored configuration into its own module