diff --git a/templates/doc/api/koralquery.html.ep b/templates/doc/api/koralquery.html.ep
index 4795573..d29bc94 100644
--- a/templates/doc/api/koralquery.html.ep
+++ b/templates/doc/api/koralquery.html.ep
@@ -4,4 +4,4 @@
 
 <p><strong>Main developer:</strong> Nils Diewald, Joachim Bingel</p>
 
-<p>The specification for KoralQuery is available on <a href="http://korap.github.io/Koral">GitHub</a>.</p>
+<p>The specification for KoralQuery is available on <%= doc_ext_link_to 'GitHub', "http://korap.github.io/Koral" %>.</p>
diff --git a/templates/doc/data/annotation.html.ep b/templates/doc/data/annotation.html.ep
index 803d059..0b2c566 100644
--- a/templates/doc/data/annotation.html.ep
+++ b/templates/doc/data/annotation.html.ep
@@ -7,7 +7,7 @@
 <section id="base">
   <h3>Base Foundry</h3>
   <p>The base foundry is available for all corpora and acts as a common ground for document structure annotation. It supports two types of spans: <code>&lt;s&gt;</code> for sentences and <code>&lt;p&gt;</code> for paragraphs - this will likely change in the next index version. These spans lack prefix information!</p>
-  %= kalamar_tut_query poliqarp => '<s>', cutoff => 1
+  %= doc_query poliqarp => '<s>', cutoff => 1
 </section>
 
 
@@ -26,7 +26,7 @@
     <dt><abbr data-type="span" title="Phrases">c</abbr></dt>
     <dd>Only nominal phrases are available and all nominal phrases are written in lower case (<code>np</code>)</dd>
   </dl>
-  %= kalamar_tut_query poliqarp => '[cnx/p=CC]', cutoff => 1
+  %= doc_query poliqarp => '[cnx/p=CC]', cutoff => 1
 </section>
 
 
@@ -38,7 +38,7 @@
     <dt><abbr data-type="token" title="Named Entity">ne_dewac_175_175m_600</abbr></dt>
     <dd>See above</dd>
   </dl>
-  %= kalamar_tut_query poliqarp => '[corenlp/ne_dewac_175m_600=I-ORG]', cutoff => 1
+  %= doc_query poliqarp => '[corenlp/ne_dewac_175m_600=I-ORG]', cutoff => 1
 </section>
 
 
@@ -50,7 +50,7 @@
     <dt><abbr data-type="token" title="Part-of-Speech">p</abbr></dt>
     <dd>All part-of-speech information is written in capital letters and is based on STTS</dd>
   </dl>
-  %= kalamar_tut_query poliqarp => '[tt/p=ADV]', cutoff => 1
+  %= doc_query poliqarp => '[tt/p=ADV]', cutoff => 1
 </section>
 
 
@@ -64,7 +64,7 @@
     <dt><abbr data-type="token" title="Morphosyntactical information">m</abbr></dt>
     <dd>Includes information about tense (<code>tense:pres</code> ...), mode (<code>mood:ind</code>), number (<code>number:pl</code> ...), gender (<code>gender:masc</code> ...) etc.</dd>
   </dl>
-  %= kalamar_tut_query poliqarp => '[mate/m=gender:fem]', cutoff => 1
+  %= doc_query poliqarp => '[mate/m=gender:fem]', cutoff => 1
 </section>
 
 
@@ -74,7 +74,7 @@
     <dt><abbr data-type="token" title="Part-of-Speech">p</abbr></dt>
     <dd>All part-of-speech information is written in capital letters and is based on STTS</dd>
   </dl>
-  %= kalamar_tut_query poliqarp => '[opennlp/p=PDAT]', cutoff => 1
+  %= doc_query poliqarp => '[opennlp/p=PDAT]', cutoff => 1
 </section>
 
 
@@ -88,8 +88,8 @@
     <dt><abbr data-type="span" title="Phrases">c</abbr></dt>
     <dd>Some phrases to create sentences, all upper case (<code>NP</code>, <code>NPA</code>, <code>NOUN</code>, <code>VERB</code>, <code>PREP</code>, <code>AP</code> ...)</dd>      
   </dl>
-  %= kalamar_tut_query poliqarp => '[xip/p=ADJ]', cutoff => 1
-  %= kalamar_tut_query poliqarp => '<xip/c=VERB>', cutoff => 1
+  %= doc_query poliqarp => '[xip/p=ADJ]', cutoff => 1
+  %= doc_query poliqarp => '<xip/c=VERB>', cutoff => 1
 </section>
 
 <section id="default-foundries">
diff --git a/templates/doc/faq.html.ep b/templates/doc/faq.html.ep
index 01ed42d..6d16d01 100644
--- a/templates/doc/faq.html.ep
+++ b/templates/doc/faq.html.ep
@@ -6,13 +6,13 @@
 
 <section>
   <h3>Where is the source code?</h3>
-  <hp>Parts of KorAP are already available on <a href="https://github.com/KorAP">GitHub</a>, and we will publish more components in the future.</p>
+  <hp>Parts of KorAP are already available on <%= doc_ext_link_to 'GitHub', 'https://github.com/KorAP' %>, and we will publish more components in the future.</p>
 </section>
 
 <section>
   <h3>Why can’t I create an account?</h3>
   <blockquote>
-    <p>This question refers to the <a href="http://korap.ids-mannheim.de/app">first frontend</a>. The second frontend has no user management yet.</p>
+    <p>This question refers to the <%= doc_ext_link_to 'first frontend', 'http://korap.ids-mannheim.de/app' %>. The second frontend has no user management yet.</p>
   </blockquote>
   <p>If you already have a COSMAS II account, you should be able to log in using those credentials. Other users may need to wait a bit longer. For the time being, access to KorAP will be restricted to connections from inside the IDS only.</p>
   <p>And if you think something else is wrong with your login - <%= mail_to_chiffre join('@', 'korap', 'ids-mannheim.de'), subject => 'Something is wrong with my login', begin %>please let us know<% end %>.</p>
@@ -31,7 +31,7 @@
 <section>
   <h3>How do I know which tagset to use for collocation analysis properties?</h3>
   <blockquote>
-    <p>This question refers to the <a href="http://korap.ids-mannheim.de/app">first frontend</a>. The second frontend has no collocation analysis module yet.</p>
+    <p>This question refers to the <%= doc_ext_link_to 'first frontend', 'http://korap.ids-mannheim.de/app' %>. The second frontend has no collocation analysis module yet.</p>
   </blockquote>
   <p>In the current implementation, the Neo4J engine uses the TreeTagger foundry as default. 
     Thus, the respective tags come from the STTS tagset.</p>
@@ -40,10 +40,10 @@
 <section>
   <h3>How do I use the collocation search view?</h3>
   <blockquote>
-    <p>This question refers to the <a href="http://korap.ids-mannheim.de/app">first frontend</a>. The second frontend has no collocation analysis module yet.</p>
+    <p>This question refers to the <%= doc_ext_link_to 'first frontend', 'http://korap.ids-mannheim.de/app' %>. The second frontend has no collocation analysis module yet.</p>
   </blockquote>
   <p>The collocation search view uses collocation properties to find collocates in the context of the specified query. This property can be of either a POS or a lemma. The operator assigns this property either an inclusive and exclusive state (i.e. negation) or can specify that the selected property is a regular expression. You can assign multiple properties per queries.</p>
-  <p>For more information on this topic, see our <a href="http://youtu.be/hiKHw50Hq9k">tutorial video</a>.</p>
+  <p>For more information on this topic, see our <%= doc_ext_link_to 'tutorial video', 'http://youtu.be/hiKHw50Hq9k' %>.</p>
 </section>
 
 <section>
diff --git a/templates/doc/korap.html.ep b/templates/doc/korap.html.ep
index 08eb9a7..136e14c 100644
--- a/templates/doc/korap.html.ep
+++ b/templates/doc/korap.html.ep
@@ -4,7 +4,7 @@
 
 %= korap_overview 'korap'
 
-<p>The KorAP project was launched in 2011 at the <a href="http://www.ids-mannheim.de/">Institute for the German Language (IDS)</a> in Mannheim, Germany. KorAP is a Corpus Analysis Platform, with an extensible and scalable architecture. It consists of multiple components, that are exchangable due to well defined APIs.</p>
+<p>The KorAP project was launched in 2011 at the <%= doc_ext_link_to 'Institute for the German Language (IDS)', "http://www.ids-mannheim.de/" %> in Mannheim, Germany. KorAP is a Corpus Analysis Platform, with an extensible and scalable architecture. It consists of multiple components, that are exchangable due to well defined APIs.</p>
 
 <dl>
   <dt><%= doc_link_to('Kalamar', 'korap', 'kalamar') %></dt>
@@ -16,9 +16,6 @@
   <dt><%= doc_link_to('Kustvakt', 'korap', 'kustvakt') %></dt>
   <dd>Kustvakt is the central user and policy management service. It takes a query and rewrites it to restrict the scope of a search to documents the user is allowed to. It may also inject further properties the user has set up, like preferred annotation layers. To transfer a query written in a certain query language to the internal general query protocol <%= doc_link_to('KoralQuery', 'api', 'koralquery') %>, Kustvakt uses <%= doc_link_to('Koral', 'korap', 'koral') %>.</dd>
 
-  <dt><%= doc_link_to('Kustvakt', 'korap', 'kustvakt') %></dt>
-  <dd>Kustvakt is the central user and policy management service. It takes a query and rewrites it to restrict the scope of a search to documents the user is allowed to. It may also inject further properties the user has set up, like preferred annotation layers. To transfer a query written in a certain query language to the internal general query protocol <%= doc_link_to('KoralQuery', 'api', 'koralquery') %>, Kustvakt uses <%= doc_link_to('Koral', 'korap', 'koral') %>.</dd>
-
   <dt><%= doc_link_to('Koral', 'korap', 'koral') %></dt>
   <dd>Koral is a library that translates queries written in one of several implemented query languages into a general query protocol, called <%= doc_link_to('KoralQuery', 'api', 'koralquery') %>.</dd>
 
@@ -34,33 +31,35 @@
 <dl>
   <dt>Head</dt>
   <dd>
-    <a href="http://www.ids-mannheim.de/direktion/personal/kupietz.html">Dr. Marc Kupietz</a>,
-    <a href="http://www.ids-mannheim.de/direktion/personal/witt.html">Dr. Andreas Witt</a>
+    <%= doc_ext_link_to 'Dr. Marc Kupietz', "http://www.ids-mannheim.de/direktion/personal/kupietz.html" %>,
+    <%= doc_ext_link_to 'Dr. Andreas Witt', "http://www.ids-mannheim.de/direktion/personal/witt.html" %>
   </dd>
 
   <dt>Scientific Staff</dt>
   <dd>
-    <a href="http://www.ids-mannheim.de/direktion/personal/banski.html">Dr. Piotr Bański</a> (Coordination),
-    <a href="http://nils-diewald.de/">Nils Diewald</a>,
-    <a href="http://www.ids-mannheim.de/direktion/personal/frick/">Elena Frick</a>,
+    <%= doc_ext_link_to 'Dr. Piotr Bański', "http://www.ids-mannheim.de/direktion/personal/banski.html" %> (Coordination),
+    <%= doc_ext_link_to 'Nils Diewald', "http://nils-diewald.de/" %>,
+    <%= doc_ext_link_to 'Elena Frick', "http://www.ids-mannheim.de/direktion/personal/frick/" %>,
     Michael Hanl
   </dd>
 
   <dt>Extended project crew</dt>
   <dd>
-    <a href="http://www.ids-mannheim.de/direktion/personal/bingel.html">Joachim Bingel</a>,
-    <a href="http://www.ids-mannheim.de/direktion/personal/margaretha/">Eliza Margaretha</a>,
-    <a href="http://www.ids-mannheim.de/zdv/personal/bodmer.html">Franck Bodmer</a>,
-    <a href="http://www.ids-mannheim.de/zdv/personal/harders.html">Peter Harders</a>,
-    <a href="http://www.ids-mannheim.de/zdv/personal/krause.html">Helge Stallkamp</a>
+    <%= doc_ext_link_to 'Joachim Bingel', "http://www.ids-mannheim.de/direktion/personal/bingel.html" %>,
+    <%= doc_ext_link_to 'Eliza Margaretha', "http://www.ids-mannheim.de/direktion/personal/margaretha/" %>,
+    <%= doc_ext_link_to 'Franck Bodmer', "http://www.ids-mannheim.de/zdv/personal/bodmer.html" %>,
+    <%= doc_ext_link_to 'Peter Harders', "http://www.ids-mannheim.de/zdv/personal/harders.html" %>,
+    <%= doc_ext_link_to 'Helge Stallkamp', "http://www.ids-mannheim.de/zdv/personal/krause.html" %>
   </dd>
 
   <dt>Past Project Members</dt>
-  <dd><a href="http://www.ids-mannheim.de/direktion/personal/ehemalige/schnober.html">Carsten Schnober</a></dd>
+  <dd>
+    <%= doc_ext_link_to 'Carsten Schnober', "http://www.ids-mannheim.de/direktion/personal/ehemalige/schnober.html" %>
+  </dd>
 
   <dt>Consulting</dt>
   <dd>
-    <a href="http://www.ids-mannheim.de/direktion/personal/belica.html">Cyril Belica</a>,
-    <a href="http://www.ids-mannheim.de/direktion/personal/schonefeld/">Oliver Schonefeld</a>
+    <%= doc_ext_link_to 'Cyril Belica', "http://www.ids-mannheim.de/direktion/personal/belica.html" %>,
+    <%= doc_ext_link_to 'Oliver Schonefeld', "http://www.ids-mannheim.de/direktion/personal/schonefeld/" %>
   </dd>
 </dl>
diff --git a/templates/doc/korap/kalamar.html.ep b/templates/doc/korap/kalamar.html.ep
index 8422747..8e73b0f 100644
--- a/templates/doc/korap/kalamar.html.ep
+++ b/templates/doc/korap/kalamar.html.ep
@@ -6,4 +6,4 @@
 
 <p><strong>Main developer:</strong> Nils Diewald</p>
 
-<p>Kalamar is the main user frontend of KorAP. It is based on <a href="http://mojolicio.us/">Mojolicious</a> and written in Perl and JavaScript.</p>
+<p>Kalamar is the main user frontend of KorAP. It is based on <%= doc_ext_link_to 'Mojolicious', "http://mojolicio.us/" %> and written in Perl and JavaScript.</p>
diff --git a/templates/doc/korap/koral.html.ep b/templates/doc/korap/koral.html.ep
index 273df7d..d97e458 100644
--- a/templates/doc/korap/koral.html.ep
+++ b/templates/doc/korap/koral.html.ep
@@ -8,4 +8,4 @@
 
 <p>Koral is a library designed for the translation of different corpus query languages to <%= doc_link_to('KoralQuery', 'api', 'koralquery') %>. Currently supported query languages include <%= doc_link_to 'Cosmas II', 'ql', 'cosmas2' %>, <%= doc_link_to('Annis QL', 'ql', 'annis') %>, <%= doc_link_to('Poliqarp+', 'ql', 'poliqarp-plus') %> (an extended version of Poliqarp) and <%= doc_link_to('CQL', 'ql', 'cql') %>.</p>
 
-<p>Koral is open source and available on <a href="https://github.com/KorAP/Koral">GitHub</a>.</p>
+<p>Koral is open source and available on <%= doc_ext_link_to 'GitHub', "https://github.com/KorAP/Koral" %>.</p>
diff --git a/templates/doc/korap/krill.html.ep b/templates/doc/korap/krill.html.ep
index cb013c0..9e10159 100644
--- a/templates/doc/korap/krill.html.ep
+++ b/templates/doc/korap/krill.html.ep
@@ -6,6 +6,6 @@
 
 <p><strong>Main developer:</strong> Nils Diewald, Eliza Margaretha</p>
 
-<p>Krill is a <a href="https://lucene.apache.org/">Lucene</a> based search engine for large annotated corpora, used as a backend component for KorAP. It is the reference implementation for <%= doc_link_to('KoralQuery', 'api', 'koralquery') %>, covering most of the protocols features.</p>
+<p>Krill is a <%= doc_ext_link_to 'Lucene', "https://lucene.apache.org/" %> based search engine for large annotated corpora, used as a backend component for KorAP. It is the reference implementation for <%= doc_link_to('KoralQuery', 'api', 'koralquery') %>, covering most of the protocols features.</p>
 
-<p>Krill is open source and available on <a href="https://github.com/KorAP/Krill">GitHub</a>.</p>
+<p>Krill is open source and available on <%= doc_ext_link_to 'GitHub', "https://github.com/KorAP/Krill" %>.</p>
diff --git a/templates/doc/ql.html.ep b/templates/doc/ql.html.ep
index a47a0ed..392927b 100644
--- a/templates/doc/ql.html.ep
+++ b/templates/doc/ql.html.ep
@@ -10,7 +10,7 @@
 
 <section id="intro">
   <h3>Frontend Features</h3>
-  <p>This frontend differs to the <%= link_to 'official frontend', 'http://korap.ids-mannheim.de/app/', target => '_blank' %> by providing a serialization view, an integrated tutorial, a comparison view for morphological annotations, and an autocompletion for closed annotations (type in <%= kalamar_tut_link_to 'foundry prefixes', '/tutorial/foundries' %> like <code>cnx/</code>).</p>
+  <p>This frontend differs to the <%= doc_ext_link_to 'official frontend', 'http://korap.ids-mannheim.de/app/', target => '_blank' %> by providing a serialization view, an integrated tutorial, a comparison view for morphological annotations, and an autocompletion for closed annotations (type in <%= doc_link_to 'foundry prefixes', 'data', 'annotation' %> like <code>cnx/</code>).</p>
 </section>
 
 <section id="examples">
@@ -22,32 +22,32 @@
   %# [isnt => 'json_pointer', 'result']
   %# [not_ok => 'json_pointer']
   
-  <p><strong>Poliqarp</strong>: Find all occurrences of the lemma &quot;baum&quot; as annotated by the <%= kalamar_tut_link_to 'default foundry', '/tutorial/foundries' %>.</p>
-  %= kalamar_tut_query poliqarp => '[base=Baum]', 'tests' => [[is => '/query', 'tokens:tt/l:Baum'],[is => '/request/query/wrap/layer', 'lemma'],[is => '/request/query/wrap/foundry', 'tt'], [ok => '/matches/10']]
+  <p><strong>Poliqarp</strong>: Find all occurrences of the lemma &quot;baum&quot; as annotated by the <%= doc_link_to 'default foundry', 'data', 'annotation' %>.</p>
+  %= doc_query poliqarp => '[base=Baum]', 'tests' => [[is => '/query', 'tokens:tt/l:Baum'],[is => '/request/query/wrap/layer', 'lemma'],[is => '/request/query/wrap/foundry', 'tt'], [ok => '/matches/10']]
 
   <p><strong>Poliqarp</strong>: Find all sequences of adjectives as annotated by Treetagger, that are repeated 3 to 5 times in a row.</p>
-  %= kalamar_tut_query poliqarp => '[tt/p=ADJA]{3,5}', 'tests' => [[is => '/query', 'spanRepetition(tokens:tt/p:ADJA{3,5})'], [is => '/request/query/operation', 'operation:repetition'],[is => '/request/query/operands/0/wrap/foundry', 'tt'], [ok => '/matches/5']]
+  %= doc_query poliqarp => '[tt/p=ADJA]{3,5}', 'tests' => [[is => '/query', 'spanRepetition(tokens:tt/p:ADJA{3,5})'], [is => '/request/query/operation', 'operation:repetition'],[is => '/request/query/operands/0/wrap/foundry', 'tt'], [ok => '/matches/5']]
 
   <p><strong>Cosmas-II</strong>: Find all occurrences of the words &quot;der&quot; and &quot;Baum&quot;, in case they are in a maximum distance of 5 tokens. The order is not relevant.</p>
-  %= kalamar_tut_query cosmas2 => 'der /w5 Baum', 'tests' => [[is => '/query', 'shrink(129: spanDistance({129: tokens:s:der}, {129: tokens:s:Baum}, [(w[0:5], notOrdered, notExcluded)]))'], [is => '/request/query/operation', 'operation:focus'], [is => '/request/query/@type', 'korap:reference'],[is => '/request/query/operands/0/operands/1/operation', 'operation:class'], [is => '/itemsPerPage', 25], [ok => '/matches/20'], [is => '/matches/4/corpusID', 'WPD'], [is => '/matches/12/corpusID', 'WPD']]
+  %= doc_query cosmas2 => 'der /w5 Baum', 'tests' => [[is => '/query', 'shrink(129: spanDistance({129: tokens:s:der}, {129: tokens:s:Baum}, [(w[0:5], notOrdered, notExcluded)]))'], [is => '/request/query/operation', 'operation:focus'], [is => '/request/query/@type', 'korap:reference'],[is => '/request/query/operands/0/operands/1/operation', 'operation:class'], [is => '/itemsPerPage', 25], [ok => '/matches/20'], [is => '/matches/4/corpusID', 'WPD'], [is => '/matches/12/corpusID', 'WPD']]
 
-  <p><strong>Cosmas-II</strong>: Find all sequences of a word starting with a &quot;d&quot; (using a wildcard) followed by an adjective as annotated in the mate foundry, followed by the word &quot;Baum&quot; (ignore the case), that is in a sentence element annotated by the <%= kalamar_tut_link_to 'default foundry', '/tutorial/foundries' %>.</p>
+  <p><strong>Cosmas-II</strong>: Find all sequences of a word starting with a &quot;d&quot; (using a wildcard) followed by an adjective as annotated in the mate foundry, followed by the word &quot;Baum&quot; (ignore the case), that is in a sentence element annotated by the <%= doc_link_to 'default foundry', 'data', 'annotation' %>.</p>
   <p><em>Be aware</em>: Minor incompatibilities with implemented languages may be announced with warnings.</p>
-  %= kalamar_tut_query cosmas2 => 'd* MORPH(mate/p=ADJA) $Baum #IN #ELEM(s)', 'tests' => [[ok => '/matches/3'], [is => '/query', 'shrink(130: {131: spanContain({129: <tokens:s />}, {130: spanNext(spanNext(SpanMultiTermQueryWrapper(tokens:s:d*), tokens:mate/p:ADJA), tokens:i:baum)})})'], [is => '/request/query/@type', 'korap:reference'], [is => '/request/query/operation', 'operation:focus'], [is => '/request/query/operands/0/operands/0/operation', 'operation:position'], [is => '/request/query/operands/0/operands/0/operands/1/operands/0/operation', 'operation:sequence'], [is => '/request/query/operands/0/operands/0/operands/1/operands/0/operands/0/wrap/type', 'type:wildcard'], [is => '/request/query/operands/0/operands/0/operands/1/operands/0/operands/1/wrap/key', 'ADJA'], [is => '/request/query/operands/0/operands/0/operands/1/operands/0/operands/1/wrap/foundry', 'mate'], [ok => '/request/query/operands/0/operands/0/operands/1/operands/0/operands/2/wrap/caseInsensitive'], [ok => '/matches/5']]
+  %= doc_query cosmas2 => 'd* MORPH(mate/p=ADJA) $Baum #IN #ELEM(s)', 'tests' => [[ok => '/matches/3'], [is => '/query', 'shrink(130: {131: spanContain({129: <tokens:s />}, {130: spanNext(spanNext(SpanMultiTermQueryWrapper(tokens:s:d*), tokens:mate/p:ADJA), tokens:i:baum)})})'], [is => '/request/query/@type', 'korap:reference'], [is => '/request/query/operation', 'operation:focus'], [is => '/request/query/operands/0/operands/0/operation', 'operation:position'], [is => '/request/query/operands/0/operands/0/operands/1/operands/0/operation', 'operation:sequence'], [is => '/request/query/operands/0/operands/0/operands/1/operands/0/operands/0/wrap/type', 'type:wildcard'], [is => '/request/query/operands/0/operands/0/operands/1/operands/0/operands/1/wrap/key', 'ADJA'], [is => '/request/query/operands/0/operands/0/operands/1/operands/0/operands/1/wrap/foundry', 'mate'], [ok => '/request/query/operands/0/operands/0/operands/1/operands/0/operands/2/wrap/caseInsensitive'], [ok => '/matches/5']]
 
   <p><strong>Poliqarp+</strong>: Find all nominal phrases as annotated using Connexor, that contain an adverb as annotated by OpenNLP, that is annotated as something starting with an &quot;A&quot; using regular expressions in Treetagger.</p>
-  %= kalamar_tut_query poliqarp => 'contains(<cnx/c=np>,{[opennlp/p=ADV & tt/p="A.*"]})', cutoff => 1, 'tests' => [[is => '/query', 'spanContain(<tokens:cnx/c:np />, {1: spanSegment(tokens:opennlp/p:ADV, SpanMultiTermQueryWrapper(tokens:/tt/p:A.*/))})'], [is => '/request/query/operation', 'operation:position'], [is => '/request/query/frames/0', 'frames:contains'], [is => '/request/query/operands/0/foundry', 'cnx'], [is => '/request/query/operands/0/layer', 'c'], [is => '/request/query/operands/0/foundry', 'cnx'], [is => '/request/query/operands/0/key', 'np'], [is => '/request/query/operands/1/operands/0/wrap/operands/0/foundry', 'opennlp'], [is => '/request/query/operands/1/operands/0/wrap/operands/0/layer', 'p'],  [is => '/request/query/operands/1/operands/0/wrap/operands/1/foundry', 'tt'],  [is => '/request/query/operands/1/operands/0/wrap/operands/1/type', 'type:regex'], [is => '/request/query/operands/1/operands/0/wrap/operands/1/key', 'A.*'], [ok => '/matches/5']]
+  %= doc_query poliqarp => 'contains(<cnx/c=np>,{[opennlp/p=ADV & tt/p="A.*"]})', cutoff => 1, 'tests' => [[is => '/query', 'spanContain(<tokens:cnx/c:np />, {1: spanSegment(tokens:opennlp/p:ADV, SpanMultiTermQueryWrapper(tokens:/tt/p:A.*/))})'], [is => '/request/query/operation', 'operation:position'], [is => '/request/query/frames/0', 'frames:contains'], [is => '/request/query/operands/0/foundry', 'cnx'], [is => '/request/query/operands/0/layer', 'c'], [is => '/request/query/operands/0/foundry', 'cnx'], [is => '/request/query/operands/0/key', 'np'], [is => '/request/query/operands/1/operands/0/wrap/operands/0/foundry', 'opennlp'], [is => '/request/query/operands/1/operands/0/wrap/operands/0/layer', 'p'],  [is => '/request/query/operands/1/operands/0/wrap/operands/1/foundry', 'tt'],  [is => '/request/query/operands/1/operands/0/wrap/operands/1/type', 'type:regex'], [is => '/request/query/operands/1/operands/0/wrap/operands/1/key', 'A.*'], [ok => '/matches/5']]
 
-  <p><strong>Poliqarp+</strong>: Find all sentences as annotated by the base foundry that start with a sequence of one token in present tense as annotated by Connexor and the lemma &quot;die&quot; annotated by the <%= kalamar_tut_link_to 'default foundry', '/tutorial/foundries' %>. Highlight both terms of the sequence.</p>
-  %= kalamar_tut_query poliqarp => 'startswith(<s>, {1:[cnx/m=PRES]}{2:[base=die]})', cutoff => 1, tests => [[is => '/query', 'spanStartsWith(<tokens:s />, spanNext({1: tokens:cnx/m:PRES}, {2: tokens:tt/l:die}))'], [is => '/request/meta/startPage', 1], [is => '/request/query/operation', 'operation:position'], [is => '/request/query/operands/0/@type','korap:span'], [is => '/request/query/operands/1/operands/0/operation', 'operation:class'], [is => '/request/query/operands/1/operands/1/operation', 'operation:class'], [is => '/request/query/operands/1/operands/1/operands/0/wrap/foundry', 'tt'], [ok => '/matches/4']]
+  <p><strong>Poliqarp+</strong>: Find all sentences as annotated by the base foundry that start with a sequence of one token in present tense as annotated by Connexor and the lemma &quot;die&quot; annotated by the <%= doc_link_to 'default foundry', 'data', 'annotation' %>. Highlight both terms of the sequence.</p>
+  %= doc_query poliqarp => 'startswith(<s>, {1:[cnx/m=PRES]}{2:[base=die]})', cutoff => 1, tests => [[is => '/query', 'spanStartsWith(<tokens:s />, spanNext({1: tokens:cnx/m:PRES}, {2: tokens:tt/l:die}))'], [is => '/request/meta/startPage', 1], [is => '/request/query/operation', 'operation:position'], [is => '/request/query/operands/0/@type','korap:span'], [is => '/request/query/operands/1/operands/0/operation', 'operation:class'], [is => '/request/query/operands/1/operands/1/operation', 'operation:class'], [is => '/request/query/operands/1/operands/1/operands/0/wrap/foundry', 'tt'], [ok => '/matches/4']]
 
   <p><strong>Poliqarp+</strong>: Find all sequences of an article, followed by three to four adjectives and a noun as annotated by the Treetagger foundry, that finish a sentence. Highlight all parts of the sequence.</p>
-  %= kalamar_tut_query poliqarp => 'focus(3:endswith(<s>,{3:[tt/p=ART]{1:{2:[tt/p=ADJA]{3,4}}[tt/p=NN]}}))', cutoff => 1, 'tests' => [[is => '/query', 'shrink(3: spanEndsWith(<tokens:s />, {3: spanNext(tokens:tt/p:ART, {1: spanNext({2: spanRepetition(tokens:tt/p:ADJA{3,4})}, tokens:tt/p:NN)})}))'], [is => '/request/query/operation', 'operation:focus'], [is => '/request/query/operands/0/frames/0', 'frames:endswith'], [ok => '/matches/3'], [is => '/matches/4/corpusID', 'WPD']]
+  %= doc_query poliqarp => 'focus(3:endswith(<s>,{3:[tt/p=ART]{1:{2:[tt/p=ADJA]{3,4}}[tt/p=NN]}}))', cutoff => 1, 'tests' => [[is => '/query', 'shrink(3: spanEndsWith(<tokens:s />, {3: spanNext(tokens:tt/p:ART, {1: spanNext({2: spanRepetition(tokens:tt/p:ADJA{3,4})}, tokens:tt/p:NN)})}))'], [is => '/request/query/operation', 'operation:focus'], [is => '/request/query/operands/0/frames/0', 'frames:endswith'], [ok => '/matches/3'], [is => '/matches/4/corpusID', 'WPD']]
 
-  <p><strong>Annis</strong>: Find all occurrences of the sequence of two tokens annotated as adverbs by the <%= kalamar_tut_link_to 'default foundry', '/tutorial/foundries' %>.</p>
-  %= kalamar_tut_query annis => 'pos="ADV" & pos="ADV" & #1 . #2', 'tests' => [[is => '/query', 'spanNext(tokens:tt/p:ADV, tokens:tt/p:ADV)'], [is => '/request/query/operands/0/wrap/foundry', 'tt'], [is => '/request/query/operands/1/wrap/foundry', 'tt'], [ok => '/matches/5'], [ok => '/matches/15'], [is => '/matches/15/corpusID', 'WPD']]
+  <p><strong>Annis</strong>: Find all occurrences of the sequence of two tokens annotated as adverbs by the <%= doc_link_to 'default foundry', 'data', 'annotation' %>.</p>
+  %= doc_query annis => 'pos="ADV" & pos="ADV" & #1 . #2', 'tests' => [[is => '/query', 'spanNext(tokens:tt/p:ADV, tokens:tt/p:ADV)'], [is => '/request/query/operands/0/wrap/foundry', 'tt'], [is => '/request/query/operands/1/wrap/foundry', 'tt'], [ok => '/matches/5'], [ok => '/matches/15'], [is => '/matches/15/corpusID', 'WPD']]
 
   <p><strong>CQL</strong>: Find all occurrences of the sequence &quot;der alte Mann&quot;.</p>
-  %= kalamar_tut_query cql => '"der alte Mann"', 'tests' => [[is => '/query', 'spanNext(spanNext(tokens:s:der, tokens:s:alte), tokens:s:Mann)'], [is => '/request/query/operation', 'operation:sequence'],[is => '/request/query/operands/0/wrap/key', 'der'],[is => '/request/query/operands/1/wrap/key', 'alte'],[is => '/request/query/operands/2/wrap/key', 'Mann'], [ok => '/matches/5'], [ok => '/matches/5']]
+  %= doc_query cql => '"der alte Mann"', 'tests' => [[is => '/query', 'spanNext(spanNext(tokens:s:der, tokens:s:alte), tokens:s:Mann)'], [is => '/request/query/operation', 'operation:sequence'],[is => '/request/query/operands/0/wrap/key', 'der'],[is => '/request/query/operands/1/wrap/key', 'alte'],[is => '/request/query/operands/2/wrap/key', 'Mann'], [ok => '/matches/5'], [ok => '/matches/5']]
 	
 </section>
diff --git a/templates/doc/ql/cql.html.ep b/templates/doc/ql/cql.html.ep
new file mode 100644
index 0000000..4a14ef1
--- /dev/null
+++ b/templates/doc/ql/cql.html.ep
@@ -0,0 +1,5 @@
+% layout 'main', title => 'KorAP: CQL';
+
+<h2>CQL</h2>
+
+%= doc_uc
diff --git a/templates/doc/ql/poliqarp-plus.html.ep b/templates/doc/ql/poliqarp-plus.html.ep
index 51fbd29..5e6b238 100644
--- a/templates/doc/ql/poliqarp-plus.html.ep
+++ b/templates/doc/ql/poliqarp-plus.html.ep
@@ -10,35 +10,35 @@
   <p>The atomic elements of Poliqarp queries are segments. Most of the time segments represent words and can be simply queried:</p>
   %# footnote: In the polish national corpus, Poliqarp can join multiple segments when identifying a single word.
 
-  %= kalamar_tut_query poliqarp => 'Baum'
+  %= doc_query poliqarp => 'Baum'
 
   <p>Sequences of simple segments are expressed using a space delimiter:</p>
 
-  %= kalamar_tut_query poliqarp => 'der Baum'
+  %= doc_query poliqarp => 'der Baum'
 
   <p>Simple segments always refer to the surface form of a word. To search for surface forms without case sensitivity, you can use the <code>/i</code> flag.</p>
 
-  %= kalamar_tut_query poliqarp => 'laufen/i'
+  %= doc_query poliqarp => 'laufen/i'
 
   <p>The query above will find all occurrences of <code>laufen</code> irrespective of the capitalization of letters, so <code>wir laufen</code> will be find as well as <code>das Laufen</code> and even <code>&quot;GEH LAUFEN!&quot;</code>.
 
   <h4 id="regexp">Regular Expressions</h4>
 
-  <p>Segments can also be queried using <%= kalamar_tut_link_to 'regular expressions', '/tutorial/regular-expressions' %> - by surrounding the segment with double quotes.</p>
+  <p>Segments can also be queried using <%= doc_link_to 'regular expressions', 'ql', 'regexp' %> - by surrounding the segment with double quotes.</p>
 
-  %= kalamar_tut_query poliqarp => '"l(au|ie)fen"'
+  %= doc_query poliqarp => '"l(au|ie)fen"'
 
   <p>Regular expression segments will always match the whole segment, meaning the above query will find words starting with <code>l</code> and ending with <code>n</code>. To support subqueries, you can use the <code>/x</code> flag.
 
-    %= kalamar_tut_query poliqarp => '"l(au|ie)fen"/x', cutoff => 1
+    %= doc_query poliqarp => '"l(au|ie)fen"/x', cutoff => 1
 
   <p>The <code>/x</code> will search for all segments that contain a sequence of characters the regular expression matches. That means the above query is equivalent to:</p>
 
-  %= kalamar_tut_query poliqarp => '".*?l(au|ie)fen.*?"', cutoff => 1
+  %= doc_query poliqarp => '".*?l(au|ie)fen.*?"', cutoff => 1
 
   <p>The <code>/x</code> flag can also be used in conjuntion with strict expressions to search for substrings:</p>
 
-  %= kalamar_tut_query poliqarp => 'trenn/xi', cutoff => 1
+  %= doc_query poliqarp => 'trenn/xi', cutoff => 1
 
   <p>The above query will find all occurrences of segments including the string <code>trenn</code> case insensitive, like &quot;Trennung&quot;, &quot;unzertrennlich&quot;, or &quot;Wettrennen&quot;.</p>
 
@@ -48,7 +48,7 @@
 
   <p>You can again apply the <code>/i</code> flag to search case insensitive.</p>
 
-  %= kalamar_tut_query poliqarp => '"l(au|ie)fen"/xi', cutoff => 1
+  %= doc_query poliqarp => '"l(au|ie)fen"/xi', cutoff => 1
 </section>
 
 <section id="complex">
@@ -59,53 +59,53 @@
   <p>The KorAP implementation of Poliqarp provides three special segment keys: <code>orth</code> for surface forms, <code>base</code> for lemmata, and <code>pos</code> for Part-of-Speech. The following complex query finds all surface forms of <code>Baum</code>.</p>
   %# There are more special keys in Poliqarp, but KorAP doesn't provide them.
 
-  %= kalamar_tut_query poliqarp => '[orth=Baum]'
+  %= doc_query poliqarp => '[orth=Baum]'
 
   <p>The query is thus equivalent to:</p>
 
-  %= kalamar_tut_query poliqarp => 'Baum'
+  %= doc_query poliqarp => 'Baum'
 
   <p>Complex segments expect simple expressions as values, meaning that the following expression is valid as well:</p>
 
-  %= kalamar_tut_query poliqarp => '[orth="l(au|ie)fen"/xi]', cutoff => 1
+  %= doc_query poliqarp => '[orth="l(au|ie)fen"/xi]', cutoff => 1
 
-  <p>Another special key is <code>base</code>, refering to the lemma annotation of the <%= kalamar_tut_link_to 'default foundry', '/tutorial/foundries' %>.
+  <p>Another special key is <code>base</code>, refering to the lemma annotation of the <%= doc_link_to 'default foundry', 'data', 'annotation' %>.
     The following query finds all occurrences of segments annotated as the lemma <code>Baum</code> by the default foundry.</p>
 
-  %= kalamar_tut_query poliqarp => '[base=Baum]'
+  %= doc_query poliqarp => '[base=Baum]'
 
-  <p>The third special key is <code>pos</code>, refering to the part-of-speech annotation of the <%= kalamar_tut_link_to 'default foundry', '/tutorial/foundries' %>.
+  <p>The third special key is <code>pos</code>, refering to the part-of-speech annotation of the <%= doc_link_to 'default foundry', 'data', 'annotation' %>.
     The following query finds all attributive adjectives:</p>
 
-  %= kalamar_tut_query poliqarp => '[pos=ADJA]'
+  %= doc_query poliqarp => '[pos=ADJA]'
 
   <p>Complex segments requesting further token annotations can have keys following the <code>foundry/layer</code> notation.
     For example to find all occurrences of plural words in the mate foundry, you can search using the following query:</p>
 
-  %= kalamar_tut_query poliqarp => '[mate/m=number:pl]'
+  %= doc_query poliqarp => '[mate/m=number:pl]'
 
   <h4>Negation</h4>
   <p>Negation of terms in complex expressions can be expressed by prepending the equal sign with an exclamation mark or by prepending the expression with one.</p>
 
-  %= kalamar_tut_query poliqarp => '[pos!=ADJA]'
-  %= kalamar_tut_query poliqarp => '[!pos=ADJA]'
+  %= doc_query poliqarp => '[pos!=ADJA]'
+  %= doc_query poliqarp => '[!pos=ADJA]'
 
   <blockquote class="warning">
     <p>Beware: Negated complex segments can't be searched solely in the Lucene index.
-      However, they work in case they are part of a <a href="#tut-syntagmatic-operators-sequence">sequence</a>.</p>
+      However, they work in case they are part of a <%= doc_link_to 'sequence', 'ql', 'poliqarp-plus#syntagmatic-operators-sequence' %>.</p>
   </blockquote>
 
   <h4 id="empty-segments">Empty Segments</h4>
 
   <p>A special segment is the empty segment, that matches every word in the index.</p>
 
-  %= kalamar_tut_query poliqarp => '[]'
+  %= doc_query poliqarp => '[]'
 
-  <p>Empty segments are useful to express distances of words by using <a href="tut-syntagmatic-operators-repetitions">repetitions</a>.</p>
+  <p>Empty segments are useful to express distances of words by using <%= doc_link_to 'repetitions', 'ql', 'poliqarp-plus#syntagmatic-operators-repetitions' %>.</p>
 
   <blockquote class="warning">
     <p>Beware: Empty segments can't be searched solely in the Lucene index.
-      However, they work in case they are part of a <a href="#tut-syntagmatic-operators-sequence">sequence</a>.</p>
+      However, they work in case they are part of a <%= doc_link_to 'sequence', 'ql', 'poliqarp-plus'#syntagmatic-operators-sequence' %>.</p>
   </blockquote>
 </section>
 
@@ -115,7 +115,7 @@
   <p>Not all segments are bound to words - some are bound to concepts spanning multiple words, for example noun phrases, sentences, or paragraphs.
 Span segments can be searched for using angular brackets instead of square brackets.</p>
 
-  %= kalamar_tut_query poliqarp => '<xip/c=INFC>'
+  %= doc_query poliqarp => '<xip/c=INFC>'
     
     <p>Otherwise they can be treated in exactly the same way as simple or complex segments.</p>
 </section>
@@ -125,24 +125,24 @@
 
   <p>A complex segment can have multiple properties a token has to fulfill. For example to search for all words with the surface form <code>laufe</code> (no matter if capitalized or not) that have the lemma <code>lauf</code> (and not, for example, <code>laufen</code>, which would indicate a verb or a gerund), you can search for:</p>
 
-  %= kalamar_tut_query poliqarp => '[orth=laufe/i & base=Lauf]'
+  %= doc_query poliqarp => '[orth=laufe/i & base=Lauf]'
 
   <p>The ampersand combines multiple properties with a logical AND.
 Terms of the complex segment can be negated as introduced before.</p>
 
-  %= kalamar_tut_query poliqarp => '[orth=laufe/i & base!=Lauf]'
+  %= doc_query poliqarp => '[orth=laufe/i & base!=Lauf]'
 
   <p>The following query is therefore equivalent:</p>
 
-  %= kalamar_tut_query poliqarp => '[orth=laufe & !base=Lauf]'
+  %= doc_query poliqarp => '[orth=laufe & !base=Lauf]'
 
   <p>Alternatives can be expressed by using the pipe symbol:</p>
 
-  %= kalamar_tut_query poliqarp => '[base=laufen | base=gehen]'
+  %= doc_query poliqarp => '[base=laufen | base=gehen]'
 
   <p>All these sub expressions can be grouped using round brackets to form complex boolean expressions:</p>
 
-  %= kalamar_tut_query poliqarp => '[(base=laufen | base=gehen) & tt/pos=VVFIN]'
+  %= doc_query poliqarp => '[(base=laufen | base=gehen) & tt/pos=VVFIN]'
 </section>
 
 <section id="syntagmatic-operators">
@@ -152,19 +152,19 @@
 
   <p>Sequences can be used to search for segments in order. For example to search for the word &quot;alte&quot; preceded by &quot;der&quot; and followed by &quot;Mann&quot;, you can simple search for the sequence of simple expressions separated by whitespaces.</p>
 
-  %= kalamar_tut_query poliqarp => 'der alte Mann'
+  %= doc_query poliqarp => 'der alte Mann'
 
   <p>However, you can obviously search using complex segments as well:</p>
 
-  %= kalamar_tut_query poliqarp => '[orth=der][orth=alte][orth=Mann]'
+  %= doc_query poliqarp => '[orth=der][orth=alte][orth=Mann]'
 
   <p>Now you may see the benefit of the empty segment to search for words you don't know:</p>
 
-  %= kalamar_tut_query poliqarp => '[orth=der][][orth=Mann]'
+  %= doc_query poliqarp => '[orth=der][][orth=Mann]'
 
   <p>You are also able to mix segments and spans in sequences, for example to search for the word &quot;Der&quot; at the beginning of a sentence (which can be interpreted as the first word after the end of a sentence).</p>
 
-  %= kalamar_tut_query poliqarp => '<s>[orth=Der]'
+  %= doc_query poliqarp => '<s>[orth=Der]'
 
   <h4>Groups</h4>
 
@@ -174,94 +174,94 @@
 
   <p>Alternations allow for searching alternative segments or sequences of segments, similar to the paradigmatic operator. You already have seen that you can search for both sequences of <code>der alte Mann</code> and <code>der junge Mann</code> by typing in:</p>
 
-  %= kalamar_tut_query poliqarp => 'der [orth=alte | orth=junge] Mann'
+  %= doc_query poliqarp => 'der [orth=alte | orth=junge] Mann'
 
   <p>However, this formulation has problems in case you want to search for alternations of sequences rather than terms. If you want to search for both sequences of <code>dem jungen Mann</code> and <code>der alte Mann</code> you can use syntagmatic alternations and groups:</p>
 
-  %= kalamar_tut_query poliqarp => '(dem jungen | der alte) Mann'
+  %= doc_query poliqarp => '(dem jungen | der alte) Mann'
 
   <p>The pipe symbol works the same way as with the paradigmatic alternation, but supports sequences of different length as operands. The above query for <code>der alte Mann</code> and <code>der junge Mann</code> can therefor be reformulated as:</p>
 
-  %= kalamar_tut_query poliqarp => 'der (junge | alte) Mann'
+  %= doc_query poliqarp => 'der (junge | alte) Mann'
 
   <h4 id="syntagmatic-operators-repetitions">Repetition</h4>
 
-  <p>Repetitions in Poliqarp are realized as in <%= kalamar_tut_link_to 'regular expressions', '/tutorial/regular-expressions' %>, by giving quantifieres in curly brackets.</p>
+  <p>Repetitions in Poliqarp are realized as in <%= doc_link_to 'regular expressions', 'ql', 'regexp' %>, by giving quantifieres in curly brackets.</p>
   <p>To search for a sequence of three occurrences of <code>der</code>, you can formulate your query in any of the following ways - they will have the same results:</p>
 
-  %= kalamar_tut_query poliqarp => 'der der der'
-  %= kalamar_tut_query poliqarp => 'der{3}'
-  %= kalamar_tut_query poliqarp => '[orth=der]{3}'
+  %= doc_query poliqarp => 'der der der'
+  %= doc_query poliqarp => 'der{3}'
+  %= doc_query poliqarp => '[orth=der]{3}'
 
   <p>In difference to regular expressions, the repetition operation won't refer to the match but to the pattern given. So the following query will give you a sequence of three words having the term <code>der</code> as a substring - but the words don't have to be identical. The following query for example will match a sequence of three words all starting with <code>la</code>.</p>
 
-  %= kalamar_tut_query poliqarp => '"la.*?"/i{3}'
+  %= doc_query poliqarp => '"la.*?"/i{3}'
 
   <p>The same is true for annotations. The following query will find a sequence of 3 to 4 adjectives as annotated by the TreeTagger foundry, that is preceded by the lemma <code>ein</code> as annotated by the default foundry and followed by a noun as annotated by the XIP foundry. The adjectives do not have to be identical though.</p>
 
-  %= kalamar_tut_query poliqarp => '[base=ein][tt/p=ADJA]{3,4}[xip/p=NOUN]'
+  %= doc_query poliqarp => '[base=ein][tt/p=ADJA]{3,4}[xip/p=NOUN]'
 
   <p>In addition to numbered quantities, it is also possible to pass repetition information as Kleene operators <code>?</code>, <code>+</code>, and <code>+</code>.</p>
 
   <p>To search for a sequence of the lemma <code>der</code> followed by the lemma <code>baum</code> as annotated by the base foundry, but allowing an optional adjective as annotated by the TreeTagger foundry in between, you can search for:</p>
 
-  %= kalamar_tut_query poliqarp => '[base=die][tt/pos=ADJA]?[base=Baum]'
+  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]?[base=Baum]'
 
   <p>This query is identical to the numbered quantification of:</p>
 
-  %= kalamar_tut_query poliqarp => '[base=die][tt/pos=ADJA]{,1}[base=Baum]'
+  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]{,1}[base=Baum]'
 
   <p>To search for the same sequences but with unlimited adjectives as annotated by the TreeTagger foundry in between, you can use the Kleene Star:</p>
 
-  %= kalamar_tut_query poliqarp => '[base=die][tt/pos=ADJA]*[base=Baum]'
+  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]*[base=Baum]'
 
   <p>And to search for this sequence but with at least one adjective in between, you can use the Kleene Plus (all queries are identical):</p>
 
-  %= kalamar_tut_query poliqarp => '[base=die][tt/pos=ADJA]+[base=Baum]', cutoff => 1
-  %= kalamar_tut_query poliqarp => '[base=die][tt/pos=ADJA]{1,}[base=Baum]', cutoff => 1
-  %= kalamar_tut_query poliqarp => '[base=die][tt/pos=ADJA][tt/pos=ADJA]*[base=Baum]', cutoff => 1
+  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]+[base=Baum]', cutoff => 1
+  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]{1,}[base=Baum]', cutoff => 1
+  %= doc_query poliqarp => '[base=die][tt/pos=ADJA][tt/pos=ADJA]*[base=Baum]', cutoff => 1
 
   <blockquote class="warning">
     <p>Repetition operators like <code>{,4}</code>, <code>?</code>, and <code>*</code> make segments or groups of segments optional. In case these queries are used separated and not in a sequence (and there are no mandatory segments in the query), you will be warned by the system that your query won't be treated as optional.</p>
     <p>Keep in mind that optionality may be somehow <i>inherited</i>, for example when you search for <code>(junge|alte)?|tote</code>, one segment of the alternation is optional, which makes the whole query optional as well.</p>
   </blockquote>
 
-  <p>Repetition can also be used to express distances between segments by using <a href="#empty-segments">empty segments</a>.</p>
+  <p>Repetition can also be used to express distances between segments by using <%= doc_link_to 'empty segments', 'ql', 'poliqarp-plus#empty-segments' %>.</p>
 
-  %= kalamar_tut_query poliqarp => '[base=die][][base=Baum]'
-  %= kalamar_tut_query poliqarp => '[base=die][]{2}[base=Baum]', cutoff => 1
-  %= kalamar_tut_query poliqarp => '[base=die][]{2,}[base=Baum]', cutoff => 1
-  %= kalamar_tut_query poliqarp => '[base=die][]{,3}[base=Baum]', cutoff => 1
+  %= doc_query poliqarp => '[base=die][][base=Baum]'
+  %= doc_query poliqarp => '[base=die][]{2}[base=Baum]', cutoff => 1
+  %= doc_query poliqarp => '[base=die][]{2,}[base=Baum]', cutoff => 1
+  %= doc_query poliqarp => '[base=die][]{,3}[base=Baum]', cutoff => 1
 
   <p>Of course, Kleene operators can be used with empty segments as well.</p>
 
-  %= kalamar_tut_query poliqarp => '[base=die][]?[base=Baum]'
-  %= kalamar_tut_query poliqarp => '[base=die][]*[base=Baum]', cutoff => 1
-  %= kalamar_tut_query poliqarp => '[base=die][]+[base=Baum]', cutoff => 1
+  %= doc_query poliqarp => '[base=die][]?[base=Baum]'
+  %= doc_query poliqarp => '[base=die][]*[base=Baum]', cutoff => 1
+  %= doc_query poliqarp => '[base=die][]+[base=Baum]', cutoff => 1
     
   <h4>Position</h4>
 
-  <p>Sequences as shown above can all be nested in further complex queries and treated as subqueries (see <a href="#tut-class-operators">class operators</a> on how to later access these subqueries directly).</p>
+  <p>Sequences as shown above can all be nested in further complex queries and treated as subqueries (see <%= doc_link_to 'class operators', 'ql', 'poliqarp-plus#class-operators' %> on how to later access these subqueries directly).</p>
   <p>Positional operators compare two matches of subqueries and will match, in case a certain condition regarding the position of both is true.</p>
   <p>The <code>contains()</code> operation will match, when a second subquery matches inside the span of a first subquery.</p>
 
-  %= kalamar_tut_query poliqarp => 'contains(<s>, [tt/p=KOUS])', cutoff => 1
+  %= doc_query poliqarp => 'contains(<s>, [tt/p=KOUS])', cutoff => 1
 
   <p>The <code>startsWith()</code> operation will match, when a second subquery matches at the beginning of the span of a first subquery.</p>
 
-  %= kalamar_tut_query poliqarp => 'startsWith(<s>, [tt/p=KOUS])', cutoff => 1
+  %= doc_query poliqarp => 'startsWith(<s>, [tt/p=KOUS])', cutoff => 1
 
   <p>The <code>endsWith()</code> operation will match, when a second subquery matches at the end of the span of a first subquery.</p>
 
-  %= kalamar_tut_query poliqarp => 'endsWith(<s>, [opennlp/p=NN])', cutoff => 1
+  %= doc_query poliqarp => 'endsWith(<s>, [opennlp/p=NN])', cutoff => 1
 
   <p>The <code>matches()</code> operation will match, when a second subquery has the exact same span of a first subquery.</p>
 
-  %= kalamar_tut_query poliqarp => 'matches(<s>,[tt/p=CARD][tt/p="N.*"])', cutoff => 1
+  %= doc_query poliqarp => 'matches(<s>,[tt/p=CARD][tt/p="N.*"])', cutoff => 1
 
   <p>The <code>overlaps()</code> operation will match, when a second subquery has an overlapping span with the first subquery.</p>
 
-  %= kalamar_tut_query poliqarp => 'overlaps([][tt/p=ADJA],{1:[tt/p=ADJA]}[])', cutoff => 1
+  %= doc_query poliqarp => 'overlaps([][tt/p=ADJA],{1:[tt/p=ADJA]}[])', cutoff => 1
 
   <blockquote class="warning">
     <p>Positional operators are still experimental and may change in certain aspects in the future (although the behaviour defined is intended to be stable). There is also known incorrect behaviour which will be corrected in future versions.</p>
@@ -282,9 +282,9 @@
 
   <p>Classes are used to group sub matches by surrounding curly brackets and a class number <code>{1:...}</code>. Classes can be used to refer to sub matches in a query, similar to captures in regular expressions. In Poliqarp+ classes have multiple purposes, with highlighting being the most intuitive one:</p>
 
-  %= kalamar_tut_query poliqarp => 'der {1:{2:[]} Mann}'
+  %= doc_query poliqarp => 'der {1:{2:[]} Mann}'
 
-  %#= kalamar_tut_query poliqarp => 'der {1:{2:[]{1,4}} {3:Baum}} {4:[]}'
+  %#= doc_query poliqarp => 'der {1:{2:[]{1,4}} {3:Baum}} {4:[]}'
 
   <p>In KorAP classes can be defined from 1 to 128. In case a class number is dismissed, the class defaults to the class number 1: <code>{...}</code> is equal to <code>{1:...}</code>.</p>
 
@@ -292,23 +292,23 @@
 
   <p>Based on classes, matches may be modified. The <code>focus()</code> operator restricts the span of a match to the boundary of a certain class.</p>
 
-  %= kalamar_tut_query poliqarp => 'focus(der {Baum})'
+  %= doc_query poliqarp => 'focus(der {Baum})'
 
   <p>The query above will search for the sequence <code>der Baum</code> but the match will be limited to <code>Baum</code>. You can think of <code>der</code> in this query as a positive look-behind zero-length assertion in regular expressions.</p>
 
   <p>But focus is way more useful if you are searching for matches without knowing the surface form. For example, to find all terms between the words &quot;der&quot; and &quot;Mann&quot; you can search:</p>
 
-  %= kalamar_tut_query poliqarp => 'focus(der {[]} Mann)'
+  %= doc_query poliqarp => 'focus(der {[]} Mann)'
 
   <p>This will limit the match to all interesting terms in between &quot;der&quot; and &quot;Mann&quot;. Or you may want to search for all words following the sequence &quot;der alte und&quot; immediately:</p>
 
-  %= kalamar_tut_query poliqarp => 'focus(der alte und {[]})'
+  %= doc_query poliqarp => 'focus(der alte und {[]})'
 
   <!--
       <p><code>focus()</code> is especially useful if you are searching for matches in certain areas, for example in quotes using positional operators.
 While not being interested in the whole quote as a match, you can focus on what's really relevant to you.</p>
 
-      %= kalamar_tut_query poliqarp => 'focus(1:contains(er []{,10} sagte, 1{Baum}))'
+      %= doc_query poliqarp => 'focus(1:contains(er []{,10} sagte, 1{Baum}))'
       -->
 
   <p>In case a class number is dismissed, the focus operator defaults to the class number 1: <code>focus(...)</code> is equal to <code>focus(1: ...)</code>.</p>
