diff --git a/web/gui/src/main/webapp/_sdh/glyphs.html b/web/gui/src/main/webapp/_sdh/glyphs.html
index cf45922..835d946 100644
--- a/web/gui/src/main/webapp/_sdh/glyphs.html
+++ b/web/gui/src/main/webapp/_sdh/glyphs.html
@@ -70,7 +70,7 @@
     <script>
         (function () {
             var w = 1000,
-                h = 400,
+                h = 800,
                 vb = '0 0 ' + w + ' ' + h;
 
             var svg = d3.select('svg')
@@ -83,6 +83,9 @@
             var grp = svg.append('g')
                     .attr('transform', 'translate(20,20)scale(2)');
 
+            var mag = svg.append('g')
+                    .attr('transform', 'translate(20,20)scale(12)');
+
             function translate(loc) {
                 return 'translate(' + loc[0] + ',' + loc[1] +')';
             }
@@ -116,9 +119,7 @@
 
 
             // import glyphs...
-            libs.glyphs.defBird(defs);
-            libs.glyphs.defGlyphs(defs);
-            libs.glyphs.defBadges(defs);
+            libs.glyphs.loadDefs(defs);
 
             // bird, top right corner
             icon(svg, 'bird', [830,10], '#800', '#ecc', 160);
@@ -134,6 +135,9 @@
             icon(grp, 'uiAttached',  [350, 0]);
 
             icon(grp, 'chain',       [  0, 60]);
+            icon(grp, 'crown',       [ 50, 60]);
+
+//            icon(mag, 'crown',  [20, 15], 'rgba(240,120,120,1)', 'transparent');
 
             // more goodies to come soon.....
         })();
diff --git a/web/gui/src/main/webapp/glyphs.js b/web/gui/src/main/webapp/glyphs.js
index cb74167..f04b74b 100644
--- a/web/gui/src/main/webapp/glyphs.js
+++ b/web/gui/src/main/webapp/glyphs.js
@@ -87,7 +87,21 @@
             "-21.2,21.2C65.1,73,53.2,72.7,46,66.5c-3.2-2.8-3.9-5.8-1.6-8.4" +
             "c2.6-2.9,5.3-2.4,8.2-0.3c5.2,3.7,10,3.3,14.7-1.1c5.8-5.6,11.6" +
             "-11.3,17.2-17.2c4.6-4.8,4.9-11.1,0.9-15c-3.9-3.9-10.1-3.4-15," +
-            "1.2c-3.1,2.9-5.7,7.4-9.3,8.5C57.6,35.3,53,33,49.2,32.2z"
+            "1.2c-3.1,2.9-5.7,7.4-9.3,8.5C57.6,35.3,53,33,49.2,32.2z",
+
+            crown: "M99.5,21.6c0,3-2.3,5.4-5.1,5.4c-0.3,0-0.7,0-1-0.1c-1.8," +
+            "4-4.8,10-7.2,17.3c-3.4,10.6-0.9,26.2,2.7,27.3C90.4,72,91.3," +
+            "75,88,75H22.7c-3.3,0-2.4-3-0.9-3.5c3.6-1.1,6.1-16.7,2.7-27.3" +
+            "c-2.4-7.4-5.4-13.5-7.2-17.5c-0.5,0.2-1,0.3-1.6,0.3c-2.8,0" +
+            "-5.1-2.4-5.1-5.4c0-3,2.3-5.4,5.1-5.4c2.8,0,5.1,2.4,5.1,5.4c0," +
+            "1-0.2,1.9-0.7,2.7c0.7,0.8,1.4,1.6,2.4,2.6c8.8,8.9,11.9,12.7," +
+            "18.1,11.7c6.5-1,11-8.2,13.3-14.1c-2-0.8-3.3-2.7-3.3-5.1c0-3," +
+            "2.3-5.4,5.1-5.4c2.8,0,5.1,2.4,5.1,5.4c0,2.5-1.6,4.5-3.7,5.2" +
+            "c2.3,5.9,6.8,13,13.2,14c6.2,1,9.3-2.7,18.1-11.7c0.7-0.7,1.4" +
+            "-1.5,2-2.1c-0.6-0.9-1-2-1-3.1c0-3,2.3-5.4,5.1-5.4C97.2,16.2," +
+            "99.5,18.6,99.5,21.6zM92,87.9c0,2.2-1.7,4.1-3.8,4.1H22.4c" +
+            "-2.1,0-4.4-1.9-4.4-4.1v-3.3c0-2.2,2.3-4.5,4.4-4.5h65.8c2.1," +
+            "0,3.8,2.3,3.8,4.5V87.9z"
         },
 
         badgeViewBox = '0 0 10 10',
