diff --git a/tools/dev/bin/onos-create-app b/tools/dev/bin/onos-create-app
index 65b00b6..cbae101 100755
--- a/tools/dev/bin/onos-create-app
+++ b/tools/dev/bin/onos-create-app
@@ -11,7 +11,7 @@
 [ $type = app ] && archetype=bundle || archetype=$type
 
 if [ "$1" = "-?" -o "$1" = "-h" -o "$1" = "--help" ]; then
-    echo "usage: $(basename $0) {app|bundle|ui|cli|api} groupId artifactId version package mvn-options"
+    echo "usage: $(basename $0) {app|bundle|ui|uitab|cli|api} groupId artifactId version package mvn-options"
     echo "        All arguments are optional"
     exit 1
 fi
diff --git a/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiComponent.java b/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableComponent.java
similarity index 94%
rename from tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiComponent.java
rename to tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableComponent.java
index 3a58d83..4cd4df0 100644
--- a/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiComponent.java
+++ b/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableComponent.java
@@ -37,7 +37,7 @@
  * Skeletal ONOS UI Table-View application component.
  */
 @Component(immediate = true)
-public class AppUiComponent {
+public class AppUiTableComponent {
 
     private final Logger log = LoggerFactory.getLogger(getClass());
 
@@ -52,12 +52,13 @@
     // Factory for UI message handlers
     private final UiMessageHandlerFactory messageHandlerFactory =
             () -> ImmutableList.of(
-                    new AppUiMessageHandler()
+                    new AppUiTableMessageHandler()
             );
 
     // Application UI extension
     protected UiExtension extension =
             new UiExtension.Builder(getClass().getClassLoader(), uiViews)
+                    .resourcePath("sampleTable")
                     .messageHandlerFactory(messageHandlerFactory)
                     .build();
 
diff --git a/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiMessageHandler.java b/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableMessageHandler.java
similarity index 98%
rename from tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiMessageHandler.java
rename to tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableMessageHandler.java
index cd3602e..50eb76b 100644
--- a/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiMessageHandler.java
+++ b/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableMessageHandler.java
@@ -35,7 +35,7 @@
 /**
  * Skeletal ONOS UI Table-View message handler.
  */
-public class AppUiMessageHandler extends UiMessageHandler {
+public class AppUiTableMessageHandler extends UiMessageHandler {
 
     private static final String SAMPLE_TABLE_DATA_REQ = "sampleTableDataRequest";
     private static final String SAMPLE_TABLE_DATA_RESP = "sampleTableDataResponse";
diff --git a/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/css.html b/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/sampleTable/css.html
similarity index 100%
rename from tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/css.html
rename to tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/sampleTable/css.html
diff --git a/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/js.html b/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/sampleTable/js.html
similarity index 100%
rename from tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/js.html
rename to tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/sampleTable/js.html
diff --git a/tools/test/scenarios/archetypes.xml b/tools/test/scenarios/archetypes.xml
index 8244a32..ff1c689 100644
--- a/tools/test/scenarios/archetypes.xml
+++ b/tools/test/scenarios/archetypes.xml
@@ -42,8 +42,18 @@
         <step name="Reinstall-App-With-UI" requires="^,~Verify-CLI"
               exec="onos-app ${OCI} reinstall! target/test-app-1.2.3.oar"/>
         <step name="Verify-UI" requires="^"
+              exec="onos-check-views $ou{OCI} id=sample"/>
+
+        <step name="Create-App-UI-Table-Overlay" requires="Reinstall-App-With-UI"
+              exec="onos-create-app uitab org.test.app test-app 1.2.3 org.test.app -DinteractiveMode=false"/>
+        <step name="Build-App-With-UI-Table" requires="^"
+              exec="mvn clean install"/>
+        <step name="Reinstall-App-With-UI-Table" requires="^,~Verify-UI"
+              exec="onos-app ${OCI} reinstall! target/test-app-1.2.3.oar"/>
+        <step name="Verify-UI-Table" requires="^"
               exec="onos-check-views ${OCI} id=sample"/>
 
+
         <step name="Uninstall-App" requires="^"
               exec="onos-app ${OCI} uninstall org.foo.app"/>
     </group>
