refactored configuration class