added another layer of indirection to the config loading process so that config files can be swapped out easily