diff --git a/web/gui/src/main/webapp/app/index.html b/web/gui/src/main/webapp/app/index.html
index 7699630..b96e408 100644
--- a/web/gui/src/main/webapp/app/index.html
+++ b/web/gui/src/main/webapp/app/index.html
@@ -46,11 +46,15 @@
     <link rel="stylesheet" href="fw/mast/mast.css">
 
     <!-- This is where contributed javascript get injected -->
-    <!-- INJECTED-JAVASCRIPT -->
+    <!-- {INJECTED-JAVASCRIPT} -->
+    <script src="view/sample/sample.js"></script>
+    <script src="view/topo/topo.js"></script>
     <!-- TODO: inject javascript refs server-side -->
 
     <!-- This is where contributed stylesheets get injected -->
-    <!-- INJECTED-CSS-STYLESHEETS -->
+    <!-- {INJECTED-CSS-STYLESHEETS} -->
+    <link rel="stylesheet" href="view/sample/sample.css">
+    <link rel="stylesheet" href="view/topo/topo.css">
     <!-- TODO: inject style-sheet refs server-side -->
 </head>
 <body class="light" ng-app="onosApp">
diff --git a/web/gui/src/main/webapp/app/onos.css b/web/gui/src/main/webapp/app/onos.css
index cc5b956..3944f59 100644
--- a/web/gui/src/main/webapp/app/onos.css
+++ b/web/gui/src/main/webapp/app/onos.css
@@ -36,3 +36,11 @@
     margin: 0;
     overflow: hidden;
 }
+
+#view {
+    padding: 6px;
+}
+
+#view h2 {
+    color: #800;
+}
diff --git a/web/gui/src/main/webapp/app/onos.js b/web/gui/src/main/webapp/app/onos.js
index 73af667..9769857 100644
--- a/web/gui/src/main/webapp/app/onos.js
+++ b/web/gui/src/main/webapp/app/onos.js
@@ -23,12 +23,38 @@
 (function () {
     'use strict';
 
-    angular.module('onosApp', ['onosUtil', 'onosMast'])
-        .controller('OnosCtrl', ['$log', 'KeyService', 'ThemeService',
-        function (_$log_, ks, ts) {
+    var coreDependencies = [
+        'ngRoute',
+        'onosUtil',
+        'onosMast'
+    ];
+
+    var viewDependencies = [
+        // TODO: inject view dependencies server side
+        // NOTE: 'ov' == 'Onos View'...
+        // {INJECTED-VIEW-MODULE-DEPENDENCIES}
+        'ovSample',
+        'ovTopo',
+        // NOTE: dummy element allows all previous entries to end with comma
+        '___dummy___'
+    ];
+
+    var dependencies = coreDependencies.concat(viewDependencies);
+    dependencies.pop(); // remove dummy
+
+    angular.module('onosApp', dependencies)
+
+        .controller('OnosCtrl', [
+            '$log', '$route', '$routeParams', '$location',
+            'KeyService', 'ThemeService',
+
+        function (_$log_, $route, $routeParams, $location, ks, ts) {
             var $log = _$log_,
                 self = this;
 
+            self.$route = $route;
+            self.$routeParams = $routeParams;
+            self.$location = $location;
             self.version = '1.1.0';
 
             // initialize onos (main app) controller here...
@@ -36,6 +62,28 @@
             ks.installOn(d3.select('body'));
 
             $log.log('OnosCtrl has been created');
+
+            $log.debug('route: ', self.$route);
+            $log.debug('routeParams: ', self.$routeParams);
+            $log.debug('location: ', self.$location);
+        }])
+
+        .config(['$routeProvider', function ($routeProvider) {
+            // TODO: figure out a way of handling contributed views...
+            $routeProvider
+                .when('/', {
+                    controller: 'OvSampleCtrl',
+                    controllerAs: 'ctrl',
+                    templateUrl: 'view/sample/sample.html'
+                })
+                .when('/topo', {
+                    controller: 'OvTopoCtrl',
+                    controllerAs: 'ctrl',
+                    templateUrl: 'view/topo/topo.html'
+                })
+                .otherwise({
+                    redirectTo: '/'
+                })
         }]);
 
 }());
diff --git a/web/gui/src/main/webapp/app/view/sample/README.txt b/web/gui/src/main/webapp/app/view/sample/README.txt
new file mode 100644
index 0000000..0d137bc
--- /dev/null
+++ b/web/gui/src/main/webapp/app/view/sample/README.txt
@@ -0,0 +1,4 @@
+# ONOS Sample View
+
+Code and resources for implementing a sample view.
+
diff --git a/web/gui/src/main/webapp/app/view/sample/sample.css b/web/gui/src/main/webapp/app/view/sample/sample.css
new file mode 100644
index 0000000..9e616ac
--- /dev/null
+++ b/web/gui/src/main/webapp/app/view/sample/sample.css
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2014 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- Sample View -- CSS file
+
+ @author Simon Hunt
+ */
+
+#ov-sample .msg {
+    font-style: italic;
+    color: darkorange;
+}
\ No newline at end of file
diff --git a/web/gui/src/main/webapp/app/view/sample/sample.html b/web/gui/src/main/webapp/app/view/sample/sample.html
new file mode 100644
index 0000000..113b725
--- /dev/null
+++ b/web/gui/src/main/webapp/app/view/sample/sample.html
@@ -0,0 +1,18 @@
+<!-- Sample partial HTML -->
+<div id="ov-sample">
+    <h2> A Sample View </h2>
+
+    <img class="logo" src="../data/img/onos-logo.png">
+
+    <p>
+        This is a <i>view</i> distinct from the Topology viewer,
+        to help facilitate development of the navigation model.
+    </p>
+    <p>
+        A message from the controller:
+        <span class="msg">{{ ctrl.message }}</span>
+    </p>
+    <p>
+        Try visiting the <a href="#/topo">Topology View</a>.
+    </p>
+</div>
diff --git a/web/gui/src/main/webapp/app/view/sample/sample.js b/web/gui/src/main/webapp/app/view/sample/sample.js
new file mode 100644
index 0000000..5c3add5
--- /dev/null
+++ b/web/gui/src/main/webapp/app/view/sample/sample.js
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2014 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- Sample View Module
+
+ @author Simon Hunt
+ */
+
+(function () {
+    'use strict';
+    angular.module('ovSample', ['onosUtil'])
+        .controller('OvSampleCtrl', ['$log', function (_$log_) {
+            var self = this,
+                $log = _$log_;
+
+            self.message = 'Hey there folks!';
+
+         $log.log('OvSampleCtrl has been created');
+        }]);
+}());
diff --git a/web/gui/src/main/webapp/app/view/topo/topo.css b/web/gui/src/main/webapp/app/view/topo/topo.css
new file mode 100644
index 0000000..141bc32
--- /dev/null
+++ b/web/gui/src/main/webapp/app/view/topo/topo.css
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2014 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- Topology View -- CSS file
+
+ @author Simon Hunt
+ */
+
+#ov-topo .msg {
+    font-family: "Bookman", Georgia, "Times New Roman", serif;
+    font-size: 40pt;
+    font-weight: bold;
+    font-style: italic;
+    color: seagreen;
+}
diff --git a/web/gui/src/main/webapp/app/view/topo/topo.html b/web/gui/src/main/webapp/app/view/topo/topo.html
new file mode 100644
index 0000000..a1e0749
--- /dev/null
+++ b/web/gui/src/main/webapp/app/view/topo/topo.html
@@ -0,0 +1,10 @@
+<!-- Topology View partial HTML -->
+<div id="ov-topo">
+    <h2> Topology View </h2>
+
+    <p>
+        This is a place-holder for the topology viewer.
+    </p>
+
+    <div class="msg"> {{ctrl.message}} </div>
+</div>
diff --git a/web/gui/src/main/webapp/app/view/topo/topo.js b/web/gui/src/main/webapp/app/view/topo/topo.js
new file mode 100644
index 0000000..ee803ab
--- /dev/null
+++ b/web/gui/src/main/webapp/app/view/topo/topo.js
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2014 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- Topology View Module
+
+ @author Simon Hunt
+ */
+
+(function () {
+    'use strict';
+    angular.module('ovTopo', ['onosUtil'])
+        .controller('OvTopoCtrl', ['$log', function (_$log_) {
+            var self = this,
+                $log = _$log_;
+
+            self.message = 'Topo View Rocks!';
+
+         $log.log('OvTopoCtrl has been created');
+        }]);
+}());
