diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/UiExtensionManager.java b/web/gui/src/main/java/org/onosproject/ui/impl/UiExtensionManager.java
index 32d1427..85935de 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/UiExtensionManager.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/UiExtensionManager.java
@@ -104,6 +104,15 @@
     private static final int IDX_USER = 0;
     private static final int IDX_KEY = 1;
 
+    private static final String LION_BASE = "/org/onosproject/ui/lion";
+
+    private static final String[] LION_TAGS = {
+            "core.view.Cluster",
+
+            // TODO: fill this out, once we have written the other config files
+    };
+
+
     private final Logger log = LoggerFactory.getLogger(getClass());
 
     // List of all extensions
@@ -214,6 +223,9 @@
                 );
 
         return new UiExtension.Builder(CL, coreViews)
+                // TODO: currently broken, until BundleStitcher & LionConfig
+                //        have been moved to web.gui module...
+//                .lionBundles(generateLionBundles(LION_BASE, LION_TAGS))
                 .messageHandlerFactory(messageHandlerFactory)
                 .topoOverlayFactory(topoOverlayFactory)
                 .topo2OverlayFactory(topo2OverlayFactory)
@@ -222,14 +234,15 @@
                 .build();
     }
 
+
     @Activate
     public void activate() {
         Serializer serializer = Serializer.using(KryoNamespaces.API,
-                     ObjectNode.class, ArrayNode.class,
-                     JsonNodeFactory.class, LinkedHashMap.class,
-                     TextNode.class, BooleanNode.class,
-                     LongNode.class, DoubleNode.class, ShortNode.class,
-                     IntNode.class, NullNode.class, UiSessionToken.class);
+                                                 ObjectNode.class, ArrayNode.class,
+                                                 JsonNodeFactory.class, LinkedHashMap.class,
+                                                 TextNode.class, BooleanNode.class,
+                                                 LongNode.class, DoubleNode.class, ShortNode.class,
+                                                 IntNode.class, NullNode.class, UiSessionToken.class);
 
         prefsConsistentMap = storageService.<String, ObjectNode>consistentMapBuilder()
                 .withName(ONOS_USER_PREFERENCES)
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/_config/core.view.cluster.lioncfg b/web/gui/src/main/resources/org/onosproject/ui/lion/_config/core.view.Cluster.lioncfg
similarity index 71%
rename from web/gui/src/main/resources/org/onosproject/ui/lion/_config/core.view.cluster.lioncfg
rename to web/gui/src/main/resources/org/onosproject/ui/lion/_config/core.view.Cluster.lioncfg
index 9d0e1ef..1cf7e03 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/_config/core.view.cluster.lioncfg
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/_config/core.view.Cluster.lioncfg
@@ -15,13 +15,13 @@
 #
 #
 
-bundle core.view.cluster
+bundle core.view.Cluster
 
 alias cv core.view
 alias cc core.common
 
-from cv.cluster import *
-from cc.network import devices, node_id, ip_address, tcp_port, uri, protocol
-from cc.props import type, chassis_id, vendor, hw_version, sw_version, serial_number
-from cc.state import total, active, started, last_updated
-from cc.ui import click, scroll_down
+from cv.Cluster import *
+from cc.Network import devices, node_id, ip_address, tcp_port, uri, protocol
+from cc.Props import type, chassis_id, vendor, hw_version, sw_version, serial_number
+from cc.State import total, active, started, last_updated
+from cc.Ui import click, scroll_down
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/action.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action.properties
similarity index 100%
rename from web/gui/src/main/resources/org/onosproject/ui/lion/core/common/action.properties
rename to web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action.properties
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/network.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Network.properties
similarity index 100%
rename from web/gui/src/main/resources/org/onosproject/ui/lion/core/common/network.properties
rename to web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Network.properties
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/props.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Props.properties
similarity index 100%
rename from web/gui/src/main/resources/org/onosproject/ui/lion/core/common/props.properties
rename to web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Props.properties
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/state.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State.properties
similarity index 100%
rename from web/gui/src/main/resources/org/onosproject/ui/lion/core/common/state.properties
rename to web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State.properties
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/ui.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Ui.properties
similarity index 100%
rename from web/gui/src/main/resources/org/onosproject/ui/lion/core/common/ui.properties
rename to web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Ui.properties
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/cluster.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Cluster.properties
similarity index 100%
rename from web/gui/src/main/resources/org/onosproject/ui/lion/core/view/cluster.properties
rename to web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Cluster.properties
