config
single responsibility principle violation refactoring