diff --git a/configuration/service_configs.py b/configuration/service_configs.py
index a3d270d..4d83fe8 100644
--- a/configuration/service_configs.py
+++ b/configuration/service_configs.py
@@ -86,10 +86,17 @@
     """
 
     ret = dict()
-    for fname in os.listdir(ENB_CONFIG_DIR):
+    for fname in filter(lambda x: x.endswith(".yml"), os.listdir(ENB_CONFIG_DIR)):
         sn = fname.replace(".yml", "")
         cfg_file_name = os.path.join(ENB_CONFIG_DIR, fname)
-        ret[sn] = _load_yaml_file(cfg_file_name)
+        sn_yaml = _load_yaml_file(cfg_file_name)
+
+        enb_cfg = dict()
+        for category in sn_yaml.values():
+            for key, value in category.items():
+                enb_cfg[key] = value
+
+        ret[sn] = enb_cfg
 
     return ret
 
