diff --git a/dev/demo/all.html b/dev/demo/all.html
index 67c50fd..f5093c4 100644
--- a/dev/demo/all.html
+++ b/dev/demo/all.html
@@ -86,7 +86,10 @@
       </div>
 
       <script>
-	KorAP.koralQuery = {"matches":["..."],"errors":[[302,"Parantheses\/brackets unbalanced.","20"]],"query":{"wrap":{"layer":"orth","match":"match:eq","foundry":"opennlp","key":"Goethe","@type":"koral:term"},"@type":"koral:token"},"meta":{"serialQuery":"tokens:s:Goethe","startIndex":0,"version":"unknown","itemsPerPage":25,"context":"p","benchmark":"0.103553092 s","totalResults":-1}};
+        /*
+	      KorAP.koralQuery = {"matches":["..."],"errors":[[302,"Parantheses\/brackets unbalanced.","20"]],"query":{"wrap":{"layer":"orth","match":"match:eq","foundry":"opennlp","key":"Goethe","@type":"koral:term"},"@type":"koral:token"},"meta":{"serialQuery":"tokens:s:Goethe","startIndex":0,"version":"unknown","itemsPerPage":25,"context":"p","benchmark":"0.103553092 s","totalResults":-1}};
+        */
+        KorAP.koralQuery = {"matches":["..."],"query":{"wrap":{"layer":"orth","match":"match:eq","foundry":"opennlp","key":"Goethe","@type":"koral:term"},"@type":"koral:token"},"meta":{"serialQuery":"tokens:s:Goethe","startIndex":0,"version":"unknown","itemsPerPage":25,"context":"p","benchmark":"0.103553092 s","totalResults":-1}};
       </script>
 
       <div id="search">
@@ -99,9 +102,12 @@
 	      id="WPD-WWW.03313-p102-103"
 	      class="marked"
 	      tabindex="6">
-	    <div>
-	      <div class="flag"></div>
-	      <div class="snippet startMore endMore"><span class="context-left">In diesem Beispiel ist zu sehen, dass die beiden Variablen a und b lediglich ihre Werte an die Funktion </span><mark><mark class="class-2 level-1">Dies </mark><mark class="class-1 level-0"><mark class="class-2 level-1"><mark class="class-3 level-2">ist</mark> ein</mark> Test</mark></mark><span class="context-right"> übergeben, aber im Gegensatz zu einem Referenzparamter dabei unverändert bleiben.</span></div>
+	    <div class="left-col">WPD/WWW/03313</div>
+      <div class="main-col">
+	      <!-- <div class="flag"></div> -->
+        <div>
+	        <div class="snippet startMore endMore"><span class="context-left">In diesem Beispiel ist zu sehen, dass die beiden Variablen a und b lediglich ihre Werte an die Funktion </span><mark><mark class="class-2 level-1">Dies </mark><mark class="class-1 level-0"><mark class="class-2 level-1"><mark class="class-3 level-2">ist</mark> ein</mark> Test</mark></mark><span class="context-right"> übergeben, aber im Gegensatz zu einem Referenzparamter dabei unverändert bleiben.</span></div>
+        </div>
 	      <!-- only inject via javascript! -->
 	    </div>
 	    <p class="ref"><strong>Wertparameter</strong> by Hubi,Zwobot,4; published on 2005-03-28 as WWW.03313 (WPD)</p>
@@ -114,11 +120,14 @@
 	      data-available-info="base/s=spans corenlp/c=spans corenlp/ne=tokens corenlp/p=tokens corenlp/s=spans glemm/l=tokens mate/l=tokens mate/m=tokens mate/p=tokens opennlp/p=tokens opennlp/s=spans tt/l=tokens tt/p=tokens tt/s=spans xip/c=spans"
 	      id="WPD-FFF.01460-p119-120"
 	      tabindex="6">
-	    <div>
-	      <div class="snippet startMore endMore"><span class="context-left">Der Fehler unterläuft häufig bei der direkten Übersetzung aus dem Englischen, wenn im originalen Ausdruck die beiden Wortteile verschiedene Wörter sind und sich das Adjektiv wahlweise auf das erste oder zweite Wort bezieht. Ein Beispiel ist multiples Testproblem für multiple </span><span class="match">test</span><span class="context-right"> problem.</span></div>
-	      <div class="tokenInfo"></div>
-	    </div>
-	    <p class="ref"><strong>Fehlbezogenes Adjektiv</strong> by Joni2,Peterlustig,BWBot; published on 2005-03-28 as FFF.01460 (WPD)</p>
+	    <div class="left-col"></div>
+      <div class="main-col">
+        <div>
+	        <div class="snippet startMore endMore"><span class="context-left">Der Fehler unterläuft häufig bei der direkten Übersetzung aus dem Englischen, wenn im originalen Ausdruck die beiden Wortteile verschiedene Wörter sind und sich das Adjektiv wahlweise auf das erste oder zweite Wort bezieht. Ein Beispiel ist multiples Testproblem für multiple </span><span class="match">test</span><span class="context-right"> problem.</span></div>
+	        <div class="tokenInfo"></div>
+	      </div>
+	      <p class="ref"><strong>Fehlbezogenes Adjektiv</strong> by Joni2,Peterlustig,BWBot; published on 2005-03-28 as FFF.01460 (WPD)</p>
+      </div>
 	  </li>
 
 	  <li data-corpus-id="WPD"
@@ -129,11 +138,14 @@
 	      id="WPD-HHH.06056-p2564-2565"
 	      class="marked"
 	      tabindex="6">
-	    <div>
-	      <div class="flag"></div>
-	      <div class="snippet startMore endMore"><span class="context-left">HDTV Samples from European (and other) broadcasters and </span><span class="match">test</span><span class="context-right"> transmissions in Europe</span></div>
+	    <div class="left-col">hhh</div>
+      <div class="main-col">
+        <div>
+	        <div class="flag"></div>
+	        <div class="snippet startMore endMore"><span class="context-left">HDTV Samples from European (and other) broadcasters and </span><span class="match">test</span><span class="context-right"> transmissions in Europe</span></div>
 	      <div class="tokenInfo"></div>
-	    </div>
+	      </div>
+      </div>
 	    <p class="ref"><strong>High Definition Television</strong> by ArtMechanic,TheK,Andreas -horn- Hornig; published on 2005-03-28 as HHH.06056 (WPD)</p>
 	  </li>
       </div>
@@ -167,8 +179,10 @@
     </script>
     <script>//<![CDATA[
 KorAP.Notifications = [];
+/*
 KorAP.Notifications.push(["warn","767: Case insensitivity is currently not supported for this layer"]);
 KorAP.Notifications.push(["error","404: Not Found (remote)"]);
+*/
 //]]>
     </script>
   </body>
diff --git a/dev/js/src/match.js b/dev/js/src/match.js
index aba738c..b5f0d5a 100644
--- a/dev/js/src/match.js
+++ b/dev/js/src/match.js
@@ -210,7 +210,24 @@
      */
     showMeta : function () {
       this.metaInfo = this._element.getAttribute('data-info');
-      console.log(JSON.parse(metaInfo));
+      if (metaInfo)
+        metaInfo = JSON.parse(metaInfo);
+      if (metaInfo) {
+
+        // TODO: Meta fields should be separated
+        for (i in metaInfo) {
+          if (i !== "UID" &&
+              i !== "corpusID" &&
+              i !== "docID" &&
+              i !== "textID" &&
+              i !== "corpusSigle" &&
+              i !== "docSigle" &&
+              i !== "textSigle" &&
+              i !== "layerInfos") {
+            console.log(i);
+          };
+        };
+      };
     },
 
     // Todo: Test toggle
diff --git a/dev/scss/main/kwic.scss b/dev/scss/main/kwic.scss
index 3cd92aa..dce53a6 100644
--- a/dev/scss/main/kwic.scss
+++ b/dev/scss/main/kwic.scss
@@ -30,67 +30,76 @@
     font-size: 10pt;
     > li {
       &:focus:not(.active) {
-	background-color: $dark-orange !important;
-	&:not(:target) div.flag {
-	  border-right-color: $nearly-white;
-	}
-	> div > div.snippet {
-	  color: $nearly-white;
-	  text-shadow: none !important;
-	  .class-3 {
-	    border-color: $nearly-white;
-	  }
-	}
+	      background-color: $dark-orange !important;
+	      &:not(:target) div.flag {
+	        border-right-color: $nearly-white;
+	      }
+	      div.snippet {
+	        color: $nearly-white;
+	        text-shadow: none !important;
+	        .class-3 {
+	          border-color: $nearly-white;
+	        }
+	      }
       }
-      position: relative;
       border: {
-	style: solid;
-	color: $dark-orange;
-	width: 0;
+	      style: solid;
+	      color: $dark-orange;
+	      width: 0;
       }
-      &:not(.active):not(:target) {
-	width: 99999%;
-	margin-left: -49999.5%;
-	background-color: $kwic-line-noneven;
-	overflow-x: hidden;
-	overflow-y: visible;
-	white-space: no-wrap;
-	cursor: pointer;
-	padding: 5pt 0 6pt 0;
-	&:nth-of-type(even) {
+      div.main-col, div.left-col {
+        position: relative;
+      }
+	    &:not(.active):not(:target) {
+        &:nth-of-type(even) div.main-col {
           background-color: $kwic-line-even;
-	}
-	.matchinfo {
-	  display: none;
-	}
-	> div {
-	  > div.snippet {
-	    text-overflow: ellipsis;
-	    text-indent: 0;
-	    text-shadow: $light-shadow;
-	  }
-	}
+	      }
+        div.left-col {
+          z-index: 5;
+          display: table-cell;
+          background-color: green;
+        }
+        div.main-col {
+          display: table-cell;
+          z-index: 4;
+          > div {
+           	width: 99999%;
+	          margin-left: -49999.5%;
+	          background-color: $kwic-line-noneven;
+	          overflow-x: hidden;
+	          overflow-y: visible;
+	          white-space: no-wrap;
+	          cursor: pointer;
+	          padding: 5pt 0 6pt 0;
+	          .matchinfo {
+	            display: none;
+	          }
+	          div.snippet {
+	            text-overflow: ellipsis;
+	            text-indent: 0;
+	            text-shadow: $light-shadow;
+	          }
+          }
+        }
       }
-      > div {
-	> div.snippet {
-          > span,
-          > mark {
+	    div.snippet {
+        > span,
+        > mark {
+          white-space: no-wrap !important;
+          > span {
             white-space: no-wrap !important;
-            > span {
-              white-space: no-wrap !important;
             }
-            // color: #666;
-          }
-          > mark,
-	  > span.match {
-            font-weight: bold;
+          // color: #666;
+        }
+        > mark,
+	      > span.match {
+          font-weight: bold;
             /* text-shadow: $kwic-match-shadow; */
-            // color: $kwic-match-color;
-            padding-left: 4pt;
-            padding-right: 2pt;
-          }
-	}
-      }
+          // color: $kwic-match-color;
+          padding-left: 4pt;
+          padding-right: 2pt;
+        }
+	    }
     }
 
     /* active view */
@@ -103,23 +112,23 @@
       height: auto;
       border-width: 2px;
       background-color: $dark-orange;
-//      @include light-noise;
+      //      @include light-noise;
       position: relative;
       > div {
-	min-height: 20pt;
-	> div.snippet {
-	  background-color: $light-orange;
-	  > * {
-	    background-color: transparent;
-	  }
-	  padding: 2pt 0 5pt 5pt;
-	  margin: {
-	    top: 0;
-	    right: $right-match-distance; // 3em;
-	    bottom: 0;
-	    left: 0; // 5pt margin-top
-	  }
-	  > span {
+	      min-height: 20pt;
+	      div.snippet {
+	        background-color: $light-orange;
+	        > * {
+	          background-color: transparent;
+	        }
+	        padding: 2pt 0 5pt 5pt;
+	        margin: {
+	          top: 0;
+	          right: $right-match-distance; // 3em;
+	          bottom: 0;
+	          left: 0; // 5pt margin-top
+	        }
+	        > span {
             line-height: 1.4em;
             width: auto;
             &.context-left {
@@ -129,54 +138,55 @@
               text-align: left;
               width: auto;
             }
-	  }
-	}
+	        }
+	      }
       }
     }
 
     /* Actions */
     > li {
       ul.action {
-	display: none;
+	      display: none;
       }
 
       /* active actions */
       &.active, &:target {
-	ul.action {
-	  display: block;
-	}
-      }
+	                ul.action {
+	                  display: block;
+	                }
+                }
       &:not(.active):not(:target) p.ref {
-	display: none;
+	      display: none;
       }
-      &.active, &:target {
-	overflow: hidden;
-	p.ref {
-	  color: white;
-	  padding: 3pt 10pt 3pt 3pt;
-	  padding-right: $right-match-distance;
-	  margin: 0pt;
-	  width: 100%;
-	  bottom: 0;
-	  z-index: 30;
-	  > span.sigle {
-	    font-size: 75%;
-	    vertical-align: top;
-	    color: $light-orange;
-	    float: right;
-	  }
-	}
+      &.active,
+      &:target {
+	      overflow: hidden;
+	      p.ref {
+	        color: white;
+	        padding: 3pt 10pt 3pt 3pt;
+	        padding-right: $right-match-distance;
+	        margin: 0pt;
+	        width: 100%;
+	        bottom: 0;
+	        z-index: 30;
+	        > span.sigle {
+	          font-size: 75%;
+	          vertical-align: top;
+	          color: $light-orange;
+	          float: right;
+	        }
+	      }
       }
     }
     > li.marked:not(.active):not(:target) {
       div.flag {
-	position: absolute;
-	top: 0;
-	width: 11px;
-	height: 100%;
-	margin-left: 50%;
-	background-color: $dark-orange;
-	border-right: 1px solid $darkest-orange;
+	      position: absolute;
+	      top: 0;
+	      width: 11px;
+	      height: 100%;
+	      margin-left: 50%;
+	      background-color: $dark-orange;
+	      border-right: 1px solid $darkest-orange;
       }
     }
   }
@@ -184,7 +194,7 @@
 
 
 ul.action {
-//  background-color: $dark-orange;
+  //  background-color: $dark-orange;
   font-size: 12pt;
   color: white;
   text: {
@@ -214,15 +224,15 @@
       text-decoration: none;
 
       > span {
-	@include blind;
+	      @include blind;
       }
       &.close::after {
-	font-family: "FontAwesome";
-	content: $fa-close;
+	      font-family: "FontAwesome";
+	      content: $fa-close;
       }
       &.info::after {
-	font-family: "FontAwesome";
-	content: $fa-info;
+	      font-family: "FontAwesome";
+	      content: $fa-info;
       }
     }
   }
@@ -251,7 +261,7 @@
 }
 */
 
-ol.align-left > li > div > div.snippet > span.context-left {
+ol.align-left > li div.snippet > span.context-left {
   display: inline-block;
   text-align: right;
   width: 50.01%;
@@ -259,7 +269,7 @@
 
 ol.align-right {
   text-align: right;
-  > li:not(.active):not(:target) > div > div.snippet > span.context-right {
+  > li:not(.active):not(:target) div.snippet > span.context-right {
     display: inline-block;
     text-align: left;
     width: 49.915%;
