diff --git a/Changes b/Changes
index 42669a2..1cfa912 100755
--- a/Changes
+++ b/Changes
@@ -1,10 +1,11 @@
-0.29 2018-08-31
+0.29 2018-09-19
         - Deprecated Kalamar.api configuration key
           in favor of Kalamar.api_path.
         - Fix replacement of docs with docGroupRefs in
           VC builder.
         - Improve touch support for menus.
         - Improve touch support for annotation assistant.
+        - Move token table view to marked match.
 
 0.28 2018-08-29
         - Introduced Widget based plugin system.
diff --git a/dev/demo/matchdemo.js b/dev/demo/matchdemo.js
index 3c4bf0e..f7fd779 100644
--- a/dev/demo/matchdemo.js
+++ b/dev/demo/matchdemo.js
@@ -49,6 +49,395 @@
   "  </span>" +
   "</span>";
 
+  snippet = "<span class=\"context-left\"></span>" +
+  "<span class=\"match\">"+
+  " <span title=\"corenlp\/p:KOUI\">"+
+  "  <span title=\"marmot\/p:KOUI\">"+
+  "   <span title=\"opennlp\/p:KOUI\">"+
+  "    <span title=\"tt\/l:um\">"+
+  "     <span title=\"tt\/l:um\">"+
+  "      <span title=\"tt\/p:APPR\">"+
+  "      <span title=\"tt\/p:KOUI\">Um</span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>"+
+  "  " +
+  " <span title=\"corenlp\/p:ART\">"+
+  "  <span title=\"marmot\/m:case:acc\">"+
+  "   <span title=\"marmot\/m:gender:masc\">"+
+  "    <span title=\"marmot\/m:number:pl\">"+
+  "     <span title=\"marmot\/p:ART\">"+
+  "      <span title=\"opennlp\/p:ART\">"+
+  "       <span title=\"tt\/l:die\">" +
+  "       <span title=\"tt\/p:ART\">die</span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:APPR\">"+
+  "  <span title=\"marmot\/p:APPR\">"+
+  "   <span title=\"opennlp\/p:APPR\">"+
+  "    <span title=\"tt\/l:von\">"+
+  "    <span title=\"tt\/p:APPR\">von</span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:PPOSAT\">"+
+  "  <span title=\"marmot\/m:case:dat\">"+
+  "   <span title=\"marmot\/m:gender:masc\">"+
+  "    <span title=\"marmot\/m:number:sg\">"+
+  "     <span title=\"marmot\/p:PPOSAT\">"+
+  "      <span title=\"opennlp\/p:PPOSAT\">"+
+  "       <span title=\"tt\/l:sein\">"+
+  "       <span title=\"tt\/p:PPOSAT\">seinem</span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:NN\">"+
+  "  <span title=\"marmot\/m:case:dat\">"+
+  "   <span title=\"marmot\/m:gender:masc\">"+
+  "    <span title=\"marmot\/m:number:sg\">"+
+  "     <span title=\"marmot\/p:NN\">"+
+  "      <span title=\"opennlp\/p:NN\">"+
+  "       <span title=\"tt\/l:Großvater\">"+
+  "       <span title=\"tt\/p:NN\">Großvater</span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:ADJA\">" +
+  "  <span title=\"marmot\/m:case:acc\">" +
+  "   <span title=\"marmot\/m:degree:pos\">" +
+  "    <span title=\"marmot\/m:gender:fem\">" +
+  "     <span title=\"marmot\/m:number:sg\">" +
+  "      <span title=\"marmot\/p:ADJA\">" +
+  "       <span title=\"opennlp\/p:ADJA\">" +
+  "        <span title=\"tt\/l:gepflanzt\">" +
+  "        <span title=\"tt\/p:ADJA\">gepflanzte</span>" +
+  "        </span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:NN\">" +
+  "  <span title=\"marmot\/m:case:acc\">" +
+  "   <span title=\"marmot\/m:gender:fem\">" +
+  "    <span title=\"marmot\/m:number:sg\">" +
+  "     <span title=\"marmot\/p:NN\">" +
+  "      <span title=\"opennlp\/p:NN\">" +
+  "       <span title=\"tt\/l:Esche\">" +
+  "       <span title=\"tt\/p:NN\">Esche</span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:VAFIN\">" +
+  "  <span title=\"marmot\/m:mood:ind\">" +
+  "   <span title=\"marmot\/m:number:sg\">" +
+  "    <span title=\"marmot\/m:person:3\">" +
+  "     <span title=\"marmot\/m:tense:pres\">" +
+  "      <span title=\"marmot\/p:VAFIN\">" +
+  "       <span title=\"opennlp\/p:VAFIN\">" +
+  "        <span title=\"tt\/l:haben\">" +
+  "        <span title=\"tt\/p:VAFIN\">hat</span>" +
+  "        </span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:NE\">" +
+  "  <span title=\"marmot\/m:case:nom\">" +
+  "   <span title=\"marmot\/m:gender:*\">" +
+  "    <span title=\"marmot\/m:number:sg\">" +
+  "     <span title=\"marmot\/p:NE\">" +
+  "      <span title=\"opennlp\/p:NE\">" +
+  "       <span title=\"tt\/l:Behrens\">" +
+  "       <span title=\"tt\/p:NE\">Behrens</span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:APPR\">" +
+  "  <span title=\"marmot\/p:APPR\">" +
+  "   <span title=\"opennlp\/p:APPR\">" +
+  "    <span title=\"tt\/l:bei\">" +
+  "    <span title=\"tt\/p:APPR\">bei</span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:ART\">" +
+  "  <span title=\"marmot\/m:case:dat\">" +
+  "   <span title=\"marmot\/m:gender:fem\">" +
+  "    <span title=\"marmot\/m:number:sg\">" +
+  "     <span title=\"marmot\/p:ART\">" +
+  "      <span title=\"opennlp\/p:ART\">" +
+  "       <span title=\"tt\/l:die\">" +
+  "       <span title=\"tt\/p:ART\">der</span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:NN\">" +
+  "  <span title=\"marmot\/m:case:dat\">" +
+  "   <span title=\"marmot\/m:gender:fem\">" +
+  "    <span title=\"marmot\/m:number:sg\">" +
+  "     <span title=\"marmot\/p:NN\">" +
+  "      <span title=\"opennlp\/p:NN\">" +
+  "       <span title=\"tt\/l:Vergrößerung\">" +
+  "       <span title=\"tt\/p:NN\">Vergrößerung</span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:ART\">" +
+  "  <span title=\"marmot\/m:case:gen\">" +
+  "   <span title=\"marmot\/m:gender:neut\">" +
+  "    <span title=\"marmot\/m:number:sg\">" +
+  "     <span title=\"marmot\/p:ART\">" +
+  "      <span title=\"opennlp\/p:ART\">" +
+  "       <span title=\"tt\/l:die\">" +
+  "       <span title=\"tt\/p:ART\">des</span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:NN\">" +
+  "  <span title=\"marmot\/m:case:gen\">" +
+  "   <span title=\"marmot\/m:gender:neut\">" +
+  "    <span title=\"marmot\/m:number:sg\">" +
+  "     <span title=\"marmot\/p:NN\">" +
+  "      <span title=\"opennlp\/p:NN\">" +
+  "       <span title=\"tt\/l:Laden\">" +
+  "       <span title=\"tt\/p:NN\">Ladens</span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:ADV\">" +
+  "  <span title=\"marmot\/p:ADV\">" +
+  "   <span title=\"opennlp\/p:ADV\">" +
+  "    <span title=\"tt\/l:einfach\">" +
+  "    <span title=\"tt\/p:ADJD\">einfach</span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:VVPP\">" +
+  "  <span title=\"marmot\/p:VVPP\">" +
+  "   <span title=\"opennlp\/p:VVPP\">" +
+  "    <span title=\"tt\/l:herumbauen\">" +
+  "    <span title=\"tt\/p:VVPP\">herumgebaut</span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  " : " +
+  " <span title=\"corenlp\/p:ADV\">" +
+  "  <span title=\"marmot\/p:ADV\">" +
+  "   <span title=\"opennlp\/p:ADV\">" +
+  "    <span title=\"tt\/l:nun\">" +
+  "    <span title=\"tt\/p:ADV\">Nun</span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:VVFIN\">" +
+  "  <span title=\"marmot\/m:mood:ind\">" +
+  "   <span title=\"marmot\/m:number:sg\">" +
+  "    <span title=\"marmot\/m:person:3\">" +
+  "     <span title=\"marmot\/m:tense:pres\">" +
+  "      <span title=\"marmot\/p:VVFIN\">" +
+  "       <span title=\"opennlp\/p:VVFIN\">" +
+  "        <span title=\"tt\/l:stehen\">" +
+  "        <span title=\"tt\/p:VVFIN\">steht</span>" +
+  "        </span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <mark>" +
+  "  <span title=\"corenlp\/p:ART\">" +
+  "   <span title=\"marmot\/m:case:nom\">" +
+  "    <span title=\"marmot\/m:gender:masc\">" +
+  "     <span title=\"marmot\/m:number:sg\">" +
+  "      <span title=\"marmot\/p:ART\">" +
+  "       <span title=\"opennlp\/p:ART\">" +
+  "        <span title=\"tt\/l:die\">" +
+  "        <span title=\"tt\/p:ART\">der</span>" +
+  "        </span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  "   " +
+  "  <span title=\"corenlp\/p:ADJA\">" +
+  "   <span title=\"marmot\/m:case:nom\">" +
+  "    <span title=\"marmot\/m:degree:pos\">" +
+  "     <span title=\"marmot\/m:gender:masc\">" +
+  "      <span title=\"marmot\/m:number:sg\">" +
+  "       <span title=\"marmot\/p:ADJA\">" +
+  "        <span title=\"opennlp\/p:ADJA\">" +
+  "         <span title=\"tt\/l:alt\">" +
+  "         <span title=\"tt\/p:ADJA\">alte</span>" +
+  "         </span>" +
+  "        </span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  "   " +
+  "  <span title=\"corenlp\/p:NN\">" +
+  "   <span title=\"marmot\/m:case:nom\">" +
+  "    <span title=\"marmot\/m:gender:masc\">" +
+  "     <span title=\"marmot\/m:number:sg\">" +
+  "      <span title=\"marmot\/p:NN\">" +
+  "       <span title=\"opennlp\/p:NN\">" +
+  "        <span title=\"tt\/l:Baum\">" +
+  "        <span title=\"tt\/p:NN\">Baum</span>" +
+  "        </span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  "  " +
+  " </mark> <span title=\"corenlp\/p:ADV\">" +
+  "  <span title=\"marmot\/p:ADV\">" +
+  "   <span title=\"opennlp\/p:ADV\">" +
+  "    <span title=\"tt\/l:mitten\">" +
+  "    <span title=\"tt\/p:ADV\">mitten</span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:APPR\">" +
+  "  <span title=\"marmot\/p:APPR\">" +
+  "   <span title=\"opennlp\/p:APPR\">" +
+  "    <span title=\"tt\/l:in\">" +
+  "    <span title=\"tt\/p:APPR\">in</span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:ART\">" +
+  "  <span title=\"marmot\/m:case:dat\">" +
+  "   <span title=\"marmot\/m:gender:fem\">" +
+  "    <span title=\"marmot\/m:number:sg\">" +
+  "     <span title=\"marmot\/p:ART\">" +
+  "      <span title=\"opennlp\/p:ART\">" +
+  "       <span title=\"tt\/l:die\">" +
+  "       <span title=\"tt\/p:ART\">der</span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"marmot\/p:TRUNC\">" +
+  "  <span title=\"opennlp\/p:TRUNC\">" +
+  "   <span title=\"tt\/l:Obst-\">" +
+  "   <span title=\"tt\/p:TRUNC\">Obst-</span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:KON\">" +
+  "  <span title=\"marmot\/p:KON\">" +
+  "   <span title=\"opennlp\/p:KON\">" +
+  "    <span title=\"tt\/l:und\">" +
+  "    <span title=\"tt\/p:KON\">und</span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  "  " +
+  " <span title=\"corenlp\/p:NN\">" +
+  "  <span title=\"marmot\/m:case:gen\">" +
+  "   <span title=\"marmot\/m:gender:fem\">" +
+  "    <span title=\"marmot\/m:number:sg\">" +
+  "     <span title=\"marmot\/p:NN\">" +
+  "      <span title=\"opennlp\/p:NN\">" +
+  "       <span title=\"tt\/l:Gemüseabteilung\">" +
+  "       <span title=\"tt\/p:NN\">Gemüseabteilung</span>" +
+  "       </span>" +
+  "      </span>" +
+  "     </span>" +
+  "    </span>" +
+  "   </span>" +
+  "  </span>" +
+  " </span>" +
+  " ." +
+  "</span>" +
+  "<span class=\"context-right\">" +
+  "</span>";
+
   var treeSnippet =
   "<span class=\"context-left\"></span>" +
   "<span class=\"match\">" +
diff --git a/dev/js/spec/matchSpec.js b/dev/js/spec/matchSpec.js
index 8df6e86..4553d97 100644
--- a/dev/js/spec/matchSpec.js
+++ b/dev/js/spec/matchSpec.js
@@ -94,6 +94,7 @@
       "    </span>" +
       "  </span>" +
       "</span>" +
+      "<mark>" + 
       "<span title=\"cnx/l:deutlich\">" +
       "  <span title=\"cnx/p:A\">" +
       "    <span title=\"cnx/syn:@PREMOD\">" +
@@ -107,6 +108,7 @@
       "    </span>" +
       "  </span>" +
       "</span>" +
+      "</mark>" +
       "<span title=\"cnx/l:fähig\">" +
       "  <span title=\"cnx/l:leistung\">" +
       "    <span title=\"cnx/p:A\">" +
@@ -485,8 +487,11 @@
       expect(tr.children[0].firstChild.nodeValue).toBe('Foundry');
       expect(tr.children[1].firstChild.nodeValue).toBe('Layer');
       expect(tr.children[2].firstChild.nodeValue).toBe('meist');
+      expect(tr.children[2].classList.contains('mark')).toBeFalsy();
       expect(tr.children[3].firstChild.nodeValue).toBe('deutlich');
+      expect(tr.children[3].classList.contains('mark')).toBeTruthy();
       expect(tr.children[4].firstChild.nodeValue).toBe('leistungsfähiger');
+      expect(tr.children[4].classList.contains('mark')).toBeFalsy();
 
       // first row
       tr = e.children[1].children[0];
diff --git a/dev/js/src/match/table.js b/dev/js/src/match/table.js
index 969de77..1544637 100644
--- a/dev/js/src/match/table.js
+++ b/dev/js/src/match/table.js
@@ -33,12 +33,14 @@
       
       this._pos = 0;
       this._token = [];
+      this._mark = [];
+      this._markE = undefined;
       this._info = [];
       this._foundry = {};
       this._layer = {};
     
       // Parse the snippet
-      this._parse(html.childNodes);      
+      this._parse(html.childNodes, false);      
 
       html.innerHTML = '';
       return this;
@@ -58,6 +60,19 @@
       return this._pos;
     },
 
+
+    /**
+     * Move the viewport to the match
+     */
+    toMark : function () {
+      if (this._markE === undefined)
+        return;
+      this._markE.scrollIntoView({
+        inline: "start",
+        block: "nearest"
+      });
+    },
+    
     /**
      * Get the token in the snippet
      * At a given position.
@@ -85,7 +100,7 @@
 
 
     // Parse the snippet
-    _parse : function (children) {
+    _parse : function (children, mark) {
 
       // Get all children
       for (var i in children) {
@@ -101,7 +116,13 @@
 
         // Element with title
         if (c.nodeType === 1) {
-          if (c.getAttribute("title") &&
+          var newMark = mark;
+
+          if (c.tagName === 'MARK') {
+            newMark = true;
+          }
+
+          else if (c.getAttribute("title") &&
               _TermRE.exec(c.getAttribute("title"))) {
 
             // Fill position with info
@@ -141,14 +162,16 @@
 
           // depth search
           if (c.hasChildNodes())
-            this._parse(c.childNodes);
+            this._parse(c.childNodes, newMark);
         }
 
         // Leaf node
         // store string on position and go to next string
         else if (c.nodeType === 3) {
-          if (c.nodeValue.match(/[a-z0-9]/i))
+          if (c.nodeValue.match(/[a-z0-9]/i)) {
+            this._mark[this._pos] = mark ? true : false;
             this._token[this._pos++] = c.nodeValue;
+          };
         };
       };
 
@@ -221,7 +244,13 @@
 
       // Add tokens
       for (var i in this._token) {
-        tr.addCell('th', undefined, this.getToken(i));
+        var c = tr.addCell('th', undefined, this.getToken(i));
+        if (this._mark[i]) {
+          c.classList.add('mark');
+          if (this._markE === undefined) {
+            this._markE = c;
+          };
+        };
       };
       
       var tbody = table.addE('tbody');
@@ -255,6 +284,10 @@
               key,
               value 
             );
+
+            if (this._mark[v]) {
+              cell.classList.add('mark');
+            };
           };
         };
       };
diff --git a/dev/js/src/view/match/tokentable.js b/dev/js/src/view/match/tokentable.js
index f0d2fd2..2ac361d 100644
--- a/dev/js/src/view/match/tokentable.js
+++ b/dev/js/src/view/match/tokentable.js
@@ -27,29 +27,36 @@
       // Append default table
       var matchtable = d.createElement('div');
       matchtable.classList.add('matchtable', 'loading');
+      this._show = matchtable;
+      return matchtable;
+    },
 
-      var that = this;
-
+    /**
+     * Do after embedding
+     */
+    afterEmbed : function () {
       // TODO:
       //   Create try-catch-exception-handling
-      
-      // Create the table asynchronous
-      this.getData(undefined, function (table) {
-
-        // Load data
-        matchtable.classList.remove('loading');
-
-        if (table !== null) {
-          matchtable.appendChild(table.element());
-	      };
-      });
 
       // TODO:
       //   Loading should have a timeout on view-level
       //   matchtable.classList.remove('loading');
-      
-      this._show = matchtable;
-      return matchtable;
+
+      // var that = this;
+      var matchtable = this._show;
+
+      // Create the table asynchronous
+      this.getData(undefined, function (table) {
+
+        if (table !== null) {
+          matchtable.appendChild(table.element());
+          table.toMark();
+	      };
+
+      });
+
+      // Load data
+      matchtable.classList.remove('loading');      
     },
 
 
diff --git a/dev/scss/main/matchinfo.scss b/dev/scss/main/matchinfo.scss
index 0d257a3..1f56fb0 100644
--- a/dev/scss/main/matchinfo.scss
+++ b/dev/scss/main/matchinfo.scss
@@ -116,6 +116,9 @@
       text-align: center;
       &:nth-of-type(1), &:nth-of-type(2) {
 	                        text-align: left;
+                        }
+      &.mark {
+        background-color: $darkest-orange; // #f6a800;
       }
     }
   }
@@ -152,10 +155,15 @@
     white-space: nowrap;
     vertical-align: top;
     text-align: center;
-
+    &.mark {
+      background-color: $light-orange;
+    }
   }
   tr:nth-child(even) > td {
     background-color: $light-orange;
+    &.mark {
+      background-color: $middle-orange;
+    }
   }
 
   // table for key-value pairs
diff --git a/package.json b/package.json
index b9d3f8d..8ee1b7f 100755
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "Kalamar",
   "description": "Mojolicious-based Frontend for KorAP",
   "license": "BSD-2-Clause",
-  "version": "0.29.1",
+  "version": "0.29.2",
   "pluginVersion": "0.1",
   "repository" : {
     "type": "git",
