refactoring configuration model