restructured config class