diff --git a/dev/js/src/vc/rewrite.js b/dev/js/src/vc/rewrite.js
index bd29b9f..78d2627 100644
--- a/dev/js/src/vc/rewrite.js
+++ b/dev/js/src/vc/rewrite.js
@@ -3,31 +3,31 @@
  */
 define(['vc/jsonld', 'util'], function (jsonldClass) {
 
-  var _validRewriteOpRE   = new RegExp("^(operation:)?(?:injec|modifica)tion$");
+  var _validRewriteOpRE   = new RegExp("^(operation:)?(?:injec|inser|modifica)tion$");
 
   return {
     // Construction method
     create : function (json) {
       var obj = Object(jsonldClass).
-	create().
-	upgradeTo(this).
-	fromJson(json);
+	        create().
+	        upgradeTo(this).
+	        fromJson(json);
       return obj;
     },
 
     // Get or set source
     src : function (string) {
       if (arguments.length === 1)
-	this._src = string;
+	      this._src = string;
       return this._src;
     },
     
     // Get or set operation
     operation : function (op) {
       if (arguments.length === 1) {
-	if (_validRewriteOpRE.test(op)) {
-	  this._op = op;
-	}
+	      if (_validRewriteOpRE.test(op)) {
+	        this._op = op;
+	      }
 	      else {
 	        KorAP.log(814, "Unknown rewrite operation");
 	  return;
diff --git a/dev/scss/main/kwic-new.scss b/dev/scss/main/kwic-new.scss
index e0263d9..994a905 100644
--- a/dev/scss/main/kwic-new.scss
+++ b/dev/scss/main/kwic-new.scss
@@ -29,6 +29,7 @@
     div.meta {
       position: relative;
       display: table-cell;
+      text-align: left;
       cursor: initial;
       width: 2px;
       z-index: 5;
diff --git a/kalamar.conf b/kalamar.conf
index 912aca9..83fad8d 100644
--- a/kalamar.conf
+++ b/kalamar.conf
@@ -1,8 +1,8 @@
 # my api => 'http://10.0.10.51:7070/api/v0.1/'
 # my $api = 'http://10.0.10.13:7070/api/v0.1/';
-my $api = 'http://localhost:9999/api/v0.1/';
-
-#my $api = 'http://10.0.2.40:8089/api/v0.1/';
+# my $api = 'http://localhost:9999/api/v0.1/';
+# my $api = 'http://10.0.2.40:8089/api/v0.1/';
+my $api = 'http://10.0.10.52:8899/api/v0.1/';
 {
   Search => {
     engine => 'Kalamar::API',
@@ -11,7 +11,7 @@
   },
   Kalamar => {
     api => $ENV{'KALAMAR_API'} // $api,
-    auth_support => 1
+    auth_support => 0
   },
   CHI => {
     default => {
