made configuration class more generic