diff --git a/dev/js/src/hint/menu.js b/dev/js/src/hint/menu.js
index 1763306..fcf3fc6 100644
--- a/dev/js/src/hint/menu.js
+++ b/dev/js/src/hint/menu.js
@@ -12,12 +12,12 @@
      */
     create : function (hint, context, params) {
       var obj = Object.create(menuClass)
-	.upgradeTo(this)
-	._init(params, {
-	  itemClass : itemClass,
-	  prefixClass : prefixClass,
-	  lengthFieldClass : lengthFieldClass
-	});
+	        .upgradeTo(this)
+	        ._init(params, {
+	          itemClass : itemClass,
+	          prefixClass : prefixClass,
+	          lengthFieldClass : lengthFieldClass
+	        });
       obj._context = context;
       obj._element.classList.add('hint');
       obj._hint = hint;
@@ -27,12 +27,12 @@
 
       // This is only domspecific
       obj.element().addEventListener('blur', function (e) {
-	this.menu.hide();
+	      this.menu.hide();
       });
 
       // Focus on input field on hide
       obj.onHide = function () {
-	this._hint.unshow();
+	      this._hint.unshow();
       };
 
       return obj;
diff --git a/dev/js/src/init.js b/dev/js/src/init.js
index 2ad0883..6eee4f8 100644
--- a/dev/js/src/init.js
+++ b/dev/js/src/init.js
@@ -416,7 +416,7 @@
       obj.hint = hintClass.create();
 
     // Add the hinthelper to the KorAP object to make it manipulatable globally
-    // KorAP.Hint = obj.hint;
+    KorAP.Hint = obj.hint;
 
     return obj;
   });
