extended basic configuration class to be hierarchical and more user-friendly  :muscle: