configuration framework to help with large amount of configurations