diff --git a/web/gui/src/main/webapp/app/fw/layer/panel.js b/web/gui/src/main/webapp/app/fw/layer/panel.js
index 46934f1..1f82067 100644
--- a/web/gui/src/main/webapp/app/fw/layer/panel.js
+++ b/web/gui/src/main/webapp/app/fw/layer/panel.js
@@ -26,7 +26,9 @@
         edge: 'right',
         width: 200,
         margin: 20,
-        xtnTime: 750
+        hideMargin: 20,
+        xtnTime: 750,
+        fade: true
     };
 
     var panels,
@@ -45,6 +47,9 @@
     function margin(p) {
         return p.settings.margin;
     }
+    function hideMargin(p) {
+        return p.settings.hideMargin;
+    }
     function noPx(p, what) {
         return Number(p.el.style(what).replace(/px$/, ''));
     }
@@ -58,7 +63,7 @@
         return margin(p) + 'px';
     }
     function pxHide(p) {
-        return (-margin(p) - widthVal(p)) + 'px';
+        return (-hideMargin(p) - widthVal(p) - (noPx(p, 'padding') * 2)) + 'px';
     }
 
     function makePanel(id, settings) {
@@ -105,12 +110,13 @@
         }
 
         function hidePanel(cb) {
-            var endCb = fs.isF(cb) || noop;
+            var endCb = fs.isF(cb) || noop,
+                endOpacity = p.settings.fade ? 0 : 1;
             p.on = false;
             p.el.transition().duration(p.settings.xtnTime)
                 .each('end', endCb)
                 .style(p.settings.edge, pxHide(p))
-                .style('opacity', 0);
+                .style('opacity', endOpacity);
         }
 
         function togglePanel(cb) {
diff --git a/web/gui/src/main/webapp/app/fw/widget/toolbar.css b/web/gui/src/main/webapp/app/fw/widget/toolbar.css
index d25279d..e7db3de 100644
--- a/web/gui/src/main/webapp/app/fw/widget/toolbar.css
+++ b/web/gui/src/main/webapp/app/fw/widget/toolbar.css
@@ -22,9 +22,7 @@
     position: absolute;
     z-index: 100;
     display: block;
-    top: 75px; /* TODO: change this to proper height*/
     width: 200px;
-    right: -220px;
     opacity: 0;
 
     padding: 10px;
diff --git a/web/gui/src/main/webapp/app/fw/widget/toolbar.js b/web/gui/src/main/webapp/app/fw/widget/toolbar.js
index d80dbf8..aeac9a0 100644
--- a/web/gui/src/main/webapp/app/fw/widget/toolbar.js
+++ b/web/gui/src/main/webapp/app/fw/widget/toolbar.js
@@ -25,7 +25,10 @@
     var ids = [],
         defaultSettings = {
             edge: 'left',
-            width: 400
+            width: 400,
+            margin: 0,
+            hideMargin: -20,
+            fade: false
         },
         settings,
         arrowSize = 10,
@@ -49,7 +52,7 @@
         return true;
     }
 
-    // translate(0 50) looks good with arrowSize of 10
+    // translate uses 50 because the svg viewbox is 50
     function rotateArrowLeft() {
         tbarArrowDiv.select('g')
             .attr('transform', 'translate(0 50) rotate(-90)');
@@ -57,14 +60,14 @@
 
     function rotateArrowRight() {
         tbarArrowDiv.select('g')
-            .attr('transform', 'translate(0 50) rotate(90)');
+            .attr('transform', 'translate(50 0) rotate(90)');
     }
 
     function createArrow() {
         tbarArrowDiv = tbarDiv.append('div')
             .classed('tbarArrow', true)
             .style({'position': 'absolute',
-                'top': '50%',
+                'top': '53%',
                 'left': '98%',
                 'margin-right': '-2%',
                 'transform': 'translate(-50%, -50%)',
@@ -151,7 +154,6 @@
 
     function hide(cb) {
         tbarPanel.hide(cb);
-        //tbarPanel.style(opts.edge, (arrowSize + 4 + 'px'));
         rotateArrowRight();
     }
 
