diff --git a/web/gui/src/main/webapp/img/bgpSpeaker.png b/web/gui/src/main/webapp/img/bgpSpeaker.png
deleted file mode 100644
index 6362381..0000000
--- a/web/gui/src/main/webapp/img/bgpSpeaker.png
+++ /dev/null
Binary files differ
diff --git a/web/gui/src/main/webapp/img/host.png b/web/gui/src/main/webapp/img/host.png
deleted file mode 100644
index 0f4595b..0000000
--- a/web/gui/src/main/webapp/img/host.png
+++ /dev/null
Binary files differ
diff --git a/web/gui/src/main/webapp/img/node.png b/web/gui/src/main/webapp/img/node.png
deleted file mode 100644
index 24b2bb4..0000000
--- a/web/gui/src/main/webapp/img/node.png
+++ /dev/null
Binary files differ
diff --git a/web/gui/src/main/webapp/img/roadm.png b/web/gui/src/main/webapp/img/roadm.png
deleted file mode 100644
index 5129683..0000000
--- a/web/gui/src/main/webapp/img/roadm.png
+++ /dev/null
Binary files differ
diff --git a/web/gui/src/main/webapp/img/router.png b/web/gui/src/main/webapp/img/router.png
deleted file mode 100644
index 8757d56..0000000
--- a/web/gui/src/main/webapp/img/router.png
+++ /dev/null
Binary files differ
diff --git a/web/gui/src/main/webapp/img/switch.png b/web/gui/src/main/webapp/img/switch.png
deleted file mode 100644
index 89bd78a..0000000
--- a/web/gui/src/main/webapp/img/switch.png
+++ /dev/null
Binary files differ
diff --git a/web/gui/src/main/webapp/img/ui.png b/web/gui/src/main/webapp/img/ui.png
deleted file mode 100644
index a3bab6a..0000000
--- a/web/gui/src/main/webapp/img/ui.png
+++ /dev/null
Binary files differ
diff --git a/web/gui/src/main/webapp/json/ev/colors/ev_10_onos.json b/web/gui/src/main/webapp/json/ev/colors/ev_10_onos.json
index 0d02792..b4685cb 100644
--- a/web/gui/src/main/webapp/json/ev/colors/ev_10_onos.json
+++ b/web/gui/src/main/webapp/json/ev/colors/ev_10_onos.json
@@ -6,6 +6,7 @@
     "online": true,
     "master": "192.168.56.101",
     "labels": [
+      "",
       "opt-3",
       "0000ffffffffff03"
     ],
diff --git a/web/gui/src/main/webapp/json/ev/colors/ev_11_onos.json b/web/gui/src/main/webapp/json/ev/colors/ev_11_onos.json
index f18aa92..0fde1c0 100644
--- a/web/gui/src/main/webapp/json/ev/colors/ev_11_onos.json
+++ b/web/gui/src/main/webapp/json/ev/colors/ev_11_onos.json
@@ -6,6 +6,7 @@
     "online": false,
     "master": "onos-2",
     "labels": [
+      "",
       "sw-9",
       "0000ffffffff0009"
     ],
diff --git a/web/gui/src/main/webapp/json/ev/colors/ev_12_onos.json b/web/gui/src/main/webapp/json/ev/colors/ev_12_onos.json
index 77fe846..4f3af68 100644
--- a/web/gui/src/main/webapp/json/ev/colors/ev_12_onos.json
+++ b/web/gui/src/main/webapp/json/ev/colors/ev_12_onos.json
@@ -6,6 +6,7 @@
     "online": false,
     "master": "onos-2",
     "labels": [
+      "",
       "opt-9",
       "0000ffffffffff09"
     ],
diff --git a/web/gui/src/main/webapp/json/ev/colors/ev_6_onos.json b/web/gui/src/main/webapp/json/ev/colors/ev_6_onos.json
index 259f8fa..d19a508 100644
--- a/web/gui/src/main/webapp/json/ev/colors/ev_6_onos.json
+++ b/web/gui/src/main/webapp/json/ev/colors/ev_6_onos.json
@@ -6,6 +6,7 @@
     "online": true,
     "master": "onos-2",
     "labels": [
+      "",
       "sw-8",
       "0000ffffffff0008"
     ],
diff --git a/web/gui/src/main/webapp/json/ev/colors/ev_7_onos.json b/web/gui/src/main/webapp/json/ev/colors/ev_7_onos.json
index 6cce0cf..d382b7c 100644
--- a/web/gui/src/main/webapp/json/ev/colors/ev_7_onos.json
+++ b/web/gui/src/main/webapp/json/ev/colors/ev_7_onos.json
@@ -6,6 +6,7 @@
     "online": true,
     "master": "192.168.56.101",
     "labels": [
+      "",
       "sw-3",
       "0000ffffffff0003"
     ],
diff --git a/web/gui/src/main/webapp/json/ev/colors/ev_8_onos.json b/web/gui/src/main/webapp/json/ev/colors/ev_8_onos.json
index 898b0f4..c4a9e49 100644
--- a/web/gui/src/main/webapp/json/ev/colors/ev_8_onos.json
+++ b/web/gui/src/main/webapp/json/ev/colors/ev_8_onos.json
@@ -6,6 +6,7 @@
     "online": true,
     "master": "192.168.56.101",
     "labels": [
+      "",
       "sw-7",
       "0000ffffffff0007"
     ],
diff --git a/web/gui/src/main/webapp/json/ev/colors/ev_9_onos.json b/web/gui/src/main/webapp/json/ev/colors/ev_9_onos.json
index 4e8b488..ff160d6 100644
--- a/web/gui/src/main/webapp/json/ev/colors/ev_9_onos.json
+++ b/web/gui/src/main/webapp/json/ev/colors/ev_9_onos.json
@@ -6,6 +6,7 @@
     "online": true,
     "master": "onos-2",
     "labels": [
+      "",
       "opt-8",
       "0000ffffffffff08"
     ],
diff --git a/web/gui/src/main/webapp/topo2.js b/web/gui/src/main/webapp/topo2.js
index 67311bd..aee4cc0 100644
--- a/web/gui/src/main/webapp/topo2.js
+++ b/web/gui/src/main/webapp/topo2.js
@@ -77,22 +77,21 @@
             linkOutWidth: 10
         },
         icons: {
-            w: 30,
-            h: 30,
-            xoff: -16,
-            yoff: -14,
-
             device: {
-                dim: 30,
-                rx: 4
+                dim: 36,
+                rx: 4,
+                xoff: -20,
+                yoff: -18
+            },
+            host: {
+                defaultRadius: 9,
+                radius: {
+                    endstation: 14,
+                    bgpSpeaker: 14,
+                    router: 14
+                }
             }
         },
-        iconUrl: {
-            device: 'img/device.png',
-            host: 'img/host.png',
-            pkt: 'img/pkt.png',
-            opt: 'img/opt.png'
-        },
         force: {
             note_for_links: 'link.type is used to differentiate',
             linkDistance: {
@@ -335,6 +334,7 @@
 
     function unpin() {
         if (hovered) {
+            sendUpdateMeta(hovered);
             hovered.fixed = false;
             hovered.el.classed('fixed', false);
             network.force.resume();
@@ -684,7 +684,7 @@
         if (d) {
             $.extend(d, device);
             if (positionNode(d, true)) {
-                sendUpdateMeta(d);
+                sendUpdateMeta(d, true);
             }
             updateNodes();
         } else {
@@ -1596,7 +1596,8 @@
             node = d.el,
             box,
             dx,
-            dy;
+            dy,
+            cfg = config.icons.device;
 
         node.select('text')
             .text(label)
@@ -1606,12 +1607,12 @@
 
         if (noLabel) {
             box = emptyBox();
-            dx = -config.icons.device.dim/2;
-            dy = -config.icons.device.dim/2;
+            dx = -cfg.dim/2;
+            dy = -cfg.dim/2;
         } else {
             box = adjustRectToFitText(node);
-            dx = box.x + config.icons.xoff;
-            dy = box.y + config.icons.yoff;
+            dx = box.x + cfg.xoff;
+            dy = box.y + cfg.yoff;
         }
 
         node.select('rect')
@@ -1709,18 +1710,12 @@
             addDeviceIcon(node, box, noLabel, iconGlyphUrl(d));
         });
 
-        // TODO: better place for this configuration state
-        var defaultHostRadius = 9,
-            hostRadius = {
-                bgpSpeaker: 14,
-                router: 14,
-                endstation: 14
-            };
 
         // augment host nodes...
         entering.filter('.host').each(function (d) {
             var node = d3.select(this),
-                r = hostRadius[d.type] || defaultHostRadius,
+                cfg = config.icons.host,
+                r = cfg.radius[d.type] || cfg.defaultRadius,
                 textDy = r + 10,
                 iid = iconGlyphUrl(d);
 
@@ -1790,8 +1785,8 @@
             dy = -cfg.dim/2;
         } else {
             box = adjustRectToFitText(node);
-            dx = box.x + config.icons.xoff;
-            dy = box.y + config.icons.yoff;
+            dx = box.x + cfg.xoff;
+            dy = box.y + cfg.yoff;
         }
 
         g = node.append('g')
@@ -2314,14 +2309,19 @@
         gly.defBadges(defs);
     }
 
-    function sendUpdateMeta(d) {
-        var ll = geoMapProjection.invert([d.x, d.y]),
+    function sendUpdateMeta(d, store) {
+        var metaUi = {},
+            ll;
+
+        if (store) {
+            ll = geoMapProjection.invert([d.x, d.y]);
             metaUi = {
                 x: d.x,
                 y: d.y,
                 lng: ll[0],
                 lat: ll[1]
             };
+        }
         d.metaUi = metaUi;
         sendMessage('updateMeta', {
             id: d.id,
@@ -2388,7 +2388,7 @@
             d.fixed = true;
             d3.select(self).classed('fixed', true);
             if (config.useLiveData) {
-                sendUpdateMeta(d);
+                sendUpdateMeta(d, true);
             } else {
                 console.log('Moving node ' + d.id + ' to [' + d.x + ',' + d.y + ']');
             }
