diff --git a/config_provider.py b/config_provider.py
index 10df542e7645ef858ef9e44ef640876390fbd4f0..698fa3b6492b64d2c5fdcb280e97fddc5e6705e2 100644
--- a/config_provider.py
+++ b/config_provider.py
@@ -1,16 +1,23 @@
 class ConfigProvider:
 
   _instance = None
+  _configs = {}
 
   @classmethod
-  def getInstance(cls):
-    return ConfigProvider._instance
+  def getInstance(cls, name = None):
+    if name is None:
+      return ConfigProvider._instance
+    else:
+      return ConfigProvider._configs.get(name)
 
-  def __init__(self, load_function):
+  def __init__(self, load_function, name = None):
     self._conf_dict = load_function['function'](
-      *load_function.get('args'), **load_function.get('kwargs'))
+      *load_function.get('args', []), **load_function.get('kwargs',{}))
     self._load_function = load_function
-    ConfigProvider._instance = self
+    if name is None:
+      ConfigProvider._instance = self
+    else:
+      ConfigProvider._configs[name] = self
 
   @property
   def dict(self):