This is an automated email from the ASF dual-hosted git repository.

aradzinski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 1a257e7  WIP.
1a257e7 is described below

commit 1a257e7f8b7ec01e4109805e809a7584d83bf694
Author: Aaron Radzinzski <[email protected]>
AuthorDate: Fri Apr 16 09:21:23 2021 +0300

    WIP.
---
 _scss/misc.scss                        |   7 +-
 basic-concepts.html                    |  10 +-
 blogs/composable_named_entities.html   |   6 +-
 blogs/quick_intro_apache_nlpcraft.html |  18 +-
 blogs/short_term_memory.html           |  18 +-
 community.html                         |  14 +-
 data-model.html                        |  36 ++--
 docs.html                              |   8 +-
 download.html                          |  16 +-
 examples/alarm_clock.html              |  18 +-
 examples/light_switch.html             |  18 +-
 examples/sql_model.html                |  22 +-
 examples/weather_bot.html              |  20 +-
 first-example.html                     |  14 +-
 getting-started.html                   |   8 +-
 installation.html                      |   8 +-
 integrations.html                      |  20 +-
 intent-matching.html                   | 353 ++++++++++++++++++++++++++-------
 metrics-and-tracing.html               |  10 +-
 relnotes/release-notes-0.5.0.html      |   6 +-
 relnotes/release-notes-0.6.2.html      |   6 +-
 relnotes/release-notes-0.7.0.html      |   8 +-
 relnotes/release-notes-0.7.1.html      |   8 +-
 relnotes/release-notes-0.7.2.html      |   8 +-
 relnotes/release-notes-0.7.3.html      |   8 +-
 relnotes/release-notes-0.7.4.html      |   8 +-
 server-and-probe.html                  |  14 +-
 tools/embedded_probe.html              |   4 +-
 tools/script.html                      |   8 +-
 tools/sql_model_gen.html               |   6 +-
 tools/syn_tool.html                    |   4 +-
 tools/test_framework.html              |   8 +-
 using-rest.html                        |  12 +-
 33 files changed, 473 insertions(+), 259 deletions(-)

diff --git a/_scss/misc.scss b/_scss/misc.scss
index 1f84762..1113453 100644
--- a/_scss/misc.scss
+++ b/_scss/misc.scss
@@ -337,10 +337,15 @@ $bq-success-border-color: $brand-success;
     }
 }
 
-.recover_bottom_margin {
+.recover-bottom-margin {
     margin-bottom: 16px;
 }
 
+i.top-link {
+    font-size: 60%;
+    color: $color-turquoise;
+}
+
 .max-width {
     width: 100%;
 }
diff --git a/basic-concepts.html b/basic-concepts.html
index 1d8d426..89b20c9 100644
--- a/basic-concepts.html
+++ b/basic-concepts.html
@@ -23,7 +23,7 @@ id: basic_concepts
 
 <div id="basic-concepts" class="col-md-8 second-column">
     <section id="overview">
-        <h2 class="section-title">Basic Concepts</h2>
+        <h2 class="section-title">Basic Concepts <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Below we’ll cover some of the key concepts that are important for 
NLPCraft:
         </p>
@@ -35,7 +35,7 @@ id: basic_concepts
         </ul>
     </section>
     <section id="model">
-        <h3 class="section-sub-title">Data Model</h3>
+        <h2 class="section-sub-title">Data Model <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Data model is a central concept in NLPCraft. It defines natural 
language interface to your public or
             private data sources like on-premise database or a cloud SaaS 
application.
@@ -62,7 +62,7 @@ id: basic_concepts
         </p>
     </section>
     <section id="ne">
-        <h3 class="section-sub-title">Named Entities</h3>
+        <h2 class="section-sub-title">Named Entities <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Named entity, also known as a model element or a token, is main a 
component defined by the NLPCraft data model. A named
             entity is one or more individual words that have a consistent 
semantic meaning and typically denote a
@@ -132,7 +132,7 @@ id: basic_concepts
         </p>
     </section>
     <section id="intent">
-        <h3 class="section-sub-title">Intent Matching</h3>
+        <h2 class="section-sub-title">Intent Matching <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             You can think of intent matching as regular expression matching 
where instead of characters you deal with detected named entities.
             Intent defines a pattern in terms of detected named entities (or 
tokens) and a callback to call when submitted sentence
@@ -155,7 +155,7 @@ id: basic_concepts
         </p>
     </section>
     <section id="stm">
-        <h3 class="section-sub-title">Conversation <span 
class="amp">&amp;</span> STM</h3>
+        <h2 class="section-sub-title">Conversation <span 
class="amp">&amp;</span> STM <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
         <div class="bq info">
             <b>Short-Term Memory</b>
             <p>
diff --git a/blogs/composable_named_entities.html 
b/blogs/composable_named_entities.html
index cdb815d..5cf932f 100644
--- a/blogs/composable_named_entities.html
+++ b/blogs/composable_named_entities.html
@@ -62,7 +62,7 @@ publish_date: January 20, 2021
     </p>
 </section>
 <section>
-    <h2 class="section-title">NER Providers</h2>
+    <h2 class="section-title">NER Providers <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         Let's take a look at several well-known NLP libraries that provide 
built-in NER components.
     </p>
@@ -161,7 +161,7 @@ publish_date: January 20, 2021
     </p>
 </section>
 <section>
-    <h2 class="section-title">Additional Capabilities of Apache NLPCraft</h2>
+    <h2 class="section-title">Additional Capabilities of Apache NLPCraft <a 
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         Let’s take a look at what Apache NLPCraft brings different or 
additional to the table.
     </p>
@@ -180,7 +180,7 @@ publish_date: January 20, 2021
     </p>
 </section>
 <section>
-    <h2 class="section-title">Reusable <span class="amp">&amp;</span> 
Composable Named Entities</h2>
+    <h2 class="section-title">Reusable <span class="amp">&amp;</span> 
Composable Named Entities <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <p>
         Apache NLPCraft is the first project that provides direct support for 
composable named entities - named entities
         that are defined in terms of other (constituent or part) entities.
diff --git a/blogs/quick_intro_apache_nlpcraft.html 
b/blogs/quick_intro_apache_nlpcraft.html
index c65a017..5e12a4b 100644
--- a/blogs/quick_intro_apache_nlpcraft.html
+++ b/blogs/quick_intro_apache_nlpcraft.html
@@ -42,7 +42,7 @@ publish_date: November 16, 2020
     </div>
 </section>
 <section>
-    <h2 class="section-title">Overview</h2>
+    <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         These are some of the key features that should give you a flavor of 
what NLPCraft is and what it can do:
     </p>
@@ -113,7 +113,7 @@ publish_date: November 16, 2020
     </div>
 </section>
 <section>
-    <h2 class="section-title">Terminology</h2>
+    <h2 class="section-title">Terminology <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         There are two terms that are important to define before we proceed:
     </p>
@@ -129,7 +129,7 @@ publish_date: November 16, 2020
     </ul>
 </section>
 <section>
-    <h2 class="section-title">Runtime Components</h2>
+    <h2 class="section-title">Runtime Components <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         When working with NLPCraft you will be dealing with these three main 
components:
     </p>
@@ -157,7 +157,7 @@ publish_date: November 16, 2020
     </figure>
 </section>
 <section>
-    <h2 class="section-title">Smart Home Example</h2>
+    <h2 class="section-title">Smart Home Example <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         Let’s see how NLPCraft works using a prototypical smart home NLP-based 
light switch as an example. We would
         like to be able to say things like <code>"Turn off all the light in 
the house"</code> or
@@ -173,7 +173,7 @@ publish_date: November 16, 2020
     </ul>
 </section>
 <section>
-    <h2 class="section-title">Required Named Entities (NEs)</h2>
+    <h2 class="section-title">Required Named Entities (NEs) <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
     For our example we’ll need to define three NEs in our model:
     </p>
@@ -186,7 +186,7 @@ publish_date: November 16, 2020
     </p>
 </section>
 <section>
-    <h2 class="section-title">Data Model</h2>
+    <h2 class="section-title">Data Model <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         Once we have an idea of what NEs we’ll need - we can start building 
the data model that would define how
         these NEs can be detected and ultimately what intents we are going to 
detecting using these NEs.
@@ -294,7 +294,7 @@ publish_date: November 16, 2020
     </p>
 </section>
 <section>
-    <h2 class="section-title">Intent Matching</h2>
+    <h2 class="section-title">Intent Matching <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         Although full explanation of the <a 
href="/intent-matching.html">intent matching</a> algorithm is outside the scope 
of this article, the basic workflow looks like this:
     </p>
@@ -314,7 +314,7 @@ publish_date: November 16, 2020
     </ul>
 </section>
 <section>
-    <h2 class="section-title">Model Implementation</h2>
+    <h2 class="section-title">Model Implementation <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         Below is a full implementation of the data model in Scala (the same 
implementation in Java or Kotlin is practically identical):
     </p>
@@ -376,7 +376,7 @@ publish_date: November 16, 2020
     </p>
 </section>
 <section>
-    <h2 class="section-title">Conclusion</h2>
+    <h2 class="section-title">Conclusion <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         In a couple dozen lines of code we’ve created a non-trivial 
application that understands free-speech
         natural language interface to operate a simple lightswitch. You can 
ask it many things like:
diff --git a/blogs/short_term_memory.html b/blogs/short_term_memory.html
index cc40374..ca3171e 100644
--- a/blogs/short_term_memory.html
+++ b/blogs/short_term_memory.html
@@ -39,7 +39,7 @@ publish_date: July 26, 2019
     </p>
 </section>
 <section>
-    <h2 class="section-title">Parsing User Input</h2>
+    <h2 class="section-title">Parsing User Input <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         One of the key objectives when parsing user input sentence for Natural 
Language Understanding (NLU) is to
         detect all possible semantic entities, a.k.a <em>named entities</em>. 
Let's consider a few examples:
@@ -72,7 +72,7 @@ publish_date: July 26, 2019
     </p>
 </section>
 <section>
-    <h2 class="section-title">Semantic Entities</h2>
+    <h2 class="section-title">Semantic Entities <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         Let's take a closer look at the named entities from the above examples:
     </p>
@@ -122,7 +122,7 @@ publish_date: July 26, 2019
     </div>
 </section>
 <section>
-    <h2 class="section-title">Incomplete Sentences</h2>
+    <h2 class="section-title">Incomplete Sentences <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         Assuming previously asked questions about the weather in Tokyo (in the 
span of the ongoing conversation) one
         could presumably ask the following questions using a <em>shorter, 
incomplete</em>, form:
@@ -154,7 +154,7 @@ publish_date: July 26, 2019
     </p>
 </section>
 <section>
-    <h2 class="section-title">Short-Term Memory</h2>
+    <h2 class="section-title">Short-Term Memory <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         The short-term memory is exactly that... a memory that keeps only 
small amount of recently used information
         and that evicts its contents after a short period of inactivity.
@@ -170,7 +170,7 @@ publish_date: July 26, 2019
     </p>
 </section>
 <section>
-    <h2 class="section-title">Context Switch</h2>
+    <h2 class="section-title">Context Switch <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         Resetting the context by the timeout is, obviously, not a hard thing 
to do. What can be trickier is to detect
         when conversation topic is switched and the previous context needs to 
be forgotten to avoid very
@@ -204,7 +204,7 @@ publish_date: July 26, 2019
     </p>
 </section>
 <section>
-    <h2 class="section-title">Overriding Entities</h2>
+    <h2 class="section-title">Overriding Entities <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         As we've seen above one named entity can replace or override an older 
entity in the STM, e.g. <code>"Peet's"</code>
         replaced <code>"Starbucks"</code> in our previous questions. <b>The 
actual algorithm that governs this logic is one
@@ -261,7 +261,7 @@ publish_date: July 26, 2019
     </ul>
 </section>
 <section>
-    <h2 class="section-title">Overriding Rule</h2>
+    <h2 class="section-title">Overriding Rule <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         Here's the rule we developed at NLPCraft and have been successfully 
using in various models:
     </p>
@@ -353,7 +353,7 @@ publish_date: July 26, 2019
     </p>
 </section>
 <section>
-    <h2 class="section-title">Explicit Context Switch</h2>
+    <h2 class="section-title">Explicit Context Switch <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         In some cases you may need to explicitly clear the conversation STM 
without relying on algorithmic behavior.
         It happens when current and new topic of the conversation share some 
of the same entities. Although at first
@@ -385,7 +385,7 @@ publish_date: July 26, 2019
     </p>
 </section>
 <section>
-    <h2 class="section-title">Summary</h2>
+    <h2 class="section-title">Summary <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <p>
         Let’s collect all our thoughts on STM into a few bullet points:
     </p>
diff --git a/community.html b/community.html
index a074332..34a92a3 100644
--- a/community.html
+++ b/community.html
@@ -42,7 +42,7 @@ layout: interior
     </div>
     <div class="col-md-8 second-column">
         <section id="start">
-            <h2 class="section-title">Start Contributing</h2>
+            <h2 class="section-title">Start Contributing <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
             <p>
                 Before you get involved in Apache NLPCraft development, please 
sign up to the
                 dev mailing list by sending an empty email to <a 
href="mailto:[email protected]";>[email protected]</a>
@@ -260,7 +260,7 @@ layout: interior
             </p>
         </section>
         <section id="pmc">
-            <h2 class="section-title">Committers <span class="amp">&</span> 
PMC</h2>
+            <h2 class="section-title">Committers <span class="amp">&</span> 
PMC <a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
             <p>
                 Visit the <a target="github" 
href="https://github.com/apache/incubator-nlpcraft/graphs/contributors";>Apache 
NLPCraft Contributors</a> page to
                 see a list of top contributors and committers for the main 
project.
@@ -340,17 +340,17 @@ layout: interior
             </table>
         </section>
         <section id="resources">
-            <h2 class="section-title">Resources</h2>
+            <h2 class="section-title">Resources <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
             <p>
                 There are many ways you can get help from Apache NLPCraft 
community. The mailing lists are the easiest
                 way to get answers or to get involved with the project.
             </p>
-            <h3 class="section-title">Stack Overflow</h3>
+            <h2 class="section-title">Stack Overflow <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
             <p>
                 NLPCraft community members watch Stack Overflow for the tag 
<code>nlpcraft</code> or "apachenlpcraft",
                 so you can post your questions there as well.
             </p>
-            <h3 class="section-title">Mailing Lists</h3>
+            <h2 class="section-title">Mailing Lists <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
             <ul>
                 <li>
                     <a 
href="mailto:[email protected]";>[email protected]</a> for 
contributor discussions
@@ -365,7 +365,7 @@ layout: interior
                     <a 
href="https://lists.apache.org/[email protected]";>archive</a>)
                 </li>
             </ul>
-            <h3 class="section-title">Git</h3>
+            <h2 class="section-title">Git <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
             <p>ASF GitBox repos (committers only):</p>
             <ul>
                 <li><a target="asf" 
href="https://git.apache.org/repos/asf/incubator-nlpcraft";>https://git.apache.org/repos/asf/incubator-nlpcraft</a></li>
@@ -380,7 +380,7 @@ layout: interior
                 <li><a target="github" 
href="https://github.com/apache/incubator-nlpcraft-java-client";>https://github.com/apache/incubator-nlpcraft-java-client</a></li>
                 <li><a target="github" 
href="https://github.com/apache/incubator-nlpcraft-ui";>https://github.com/apache/incubator-nlpcraft-ui</a></li>
             </ul>
-            <h3 class="section-title">JIRA Issue Tracking</h3>
+            <h2 class="section-title">JIRA Issue Tracking <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
             <p>
                 Visit <a target="jira" 
href="https://issues.apache.org/jira/projects/NLPCRAFT/issues";>NLPCraft 
Jira</a> if you would like to file a new issue or view existing
                 issues. If you would like to assign an issue to yourself and 
start contributing, please send an
diff --git a/data-model.html b/data-model.html
index 130424b..f9ec680 100644
--- a/data-model.html
+++ b/data-model.html
@@ -23,7 +23,7 @@ id: data_model
 
 <div class="col-md-8 second-column">
     <section id="overview">
-        <h2 class="section-title">Model Overview</h2>
+        <h2 class="section-title">Model Overview <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Data model is a central concept in NLPCraft defining interface to 
your data sources
             like a database or a SaaS application.
@@ -199,7 +199,7 @@ public class AlarmModel extends NCModelFileAdapter {
         </p>
     </section>
     <section id="dataflow">
-        <h2 class="section-title">Model Dataflow</h2>
+        <h2 class="section-title">Model Dataflow <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <figure>
             <img alt="data model dataflow" class="img-fluid" 
src="/images/homepage-fig1.1.png">
             <figcaption><b>Fig 1.</b> NLPCraft Architecture</figcaption>
@@ -238,7 +238,7 @@ public class AlarmModel extends NCModelFileAdapter {
         </div>
     </section>
     <section id="lifecycle">
-        <h2 class="section-title">Model Lifecycle</h2>
+        <h2 class="section-title">Model Lifecycle <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Data model is an implementation of <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModel.html">NCModel</a> 
interface.
             <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModel.html">NCModel</a> 
interface has
@@ -363,7 +363,7 @@ public class AlarmModel extends NCModelFileAdapter {
         </div>
     </section>
     <section id="config">
-        <h2 class="section-title">Model Configuration</h2>
+        <h2 class="section-title">Model Configuration <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Apart from mandatory model <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModelView.html#getId()">ID</a>,
             <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModelView.html#getName()">name</a>
 and
@@ -395,7 +395,7 @@ public class AlarmModel extends NCModelFileAdapter {
             <li><a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModelView.html#isPermutateSynonyms()">isPermutateSynonyms</a></li>
             <li><a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModelView.html#isSwearWordsAllowed()">isSwearWordsAllowed</a></li>
         </ul>
-        <h3 class="section-title">External JSON/YAML Declaration</h3>
+        <h2 class="section-title">External JSON/YAML Declaration <a 
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             You can move out all the static model configuration into an 
external JSON or YAML file. To load that
             configuration you need to use <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModelFileAdapter.html">NCModelFileAdapter</a>
@@ -467,7 +467,7 @@ intents:
         </div>
     </section>
     <section id="elements">
-        <h2 class="section-title">Model Elements</h2>
+        <h2 class="section-title">Model Elements <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Data model element defines a semantic entity that will be detected 
in the user input.
             A model element typically is one or more individual words that 
have a consistent semantic meaning and typically denote a
@@ -551,7 +551,7 @@ intents:
                 All properties of model elements (id, groups, parent & 
ancestors, values, and metadata) can be used in NLPCraft IDL.
             </li>
         </ul>
-        <h3 class="section-title">User vs. Built-In Elements</h3>
+        <h2 class="section-title">User vs. Built-In Elements <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Additionally to the model elements that are defined by the user in 
the data model (i.e. <em>user model elements</em>)
             NLPCraft provides <a href="#builtin">its own named entities</a> as 
well as the integration with number of <a href="integrations.html#nlp">3rd 
party projects</a>. You can think of these built-in elements as if they were 
implicitly defined in your model - you
@@ -971,7 +971,7 @@ intents:
         </pre>
     </section>
     <section id="dsl" >
-        <h2 class="section-title">Token DSL</h2>
+        <h2 class="section-title">Token DSL <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Any individual synonym word that that starts and ends with 
<code>^^</code> is a token DSL expression. A token
             DSL expression inside of <code>^^ ... ^^</code> markers allows you 
to define a predicate on already parsed and detected token. It is very 
important to
@@ -1713,7 +1713,7 @@ intents:
         </p>
     </section>
     <section id="programmable_ners">
-        <h2 class="section-title">Programmable NERs</h2>
+        <h2 class="section-title">Programmable NERs <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             By default, the data model detects its elements by their synonyms, 
regexp or DSL expressions. However, in some cases
             these methods are either not expressive enough or cannot be used. 
For example, detecting model elements based
@@ -1726,7 +1726,7 @@ intents:
         </p>
     </section>
     <section id="logic">
-        <h2 class="section-title">Model Logic</h2>
+        <h2 class="section-title">Model Logic <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             When a user sends its request via REST API it is received by the 
REST server. Upon receipt,
             the REST server does the basic NLP processing and enriching. Once 
finished, the REST server
@@ -1747,13 +1747,13 @@ intents:
             <li>Interface <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html">NCToken</a></li>
             <li>Class <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCResult.html">NCResult</a></li>
         </ul>
-        <h3 class="section-title">Interface <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModelView.html">NCModelView</a></h3>
+        <h2 class="section-title">Interface <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModelView.html">NCModelView</a> 
<a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             This interface provides read-only view on data model. Model view 
defines a declarative, or configurable, part of the model.
             All properties in this interface can be defined or overridden in 
JSON/YAML external
             presentation when used with <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModelFileAdapter.html">NCModelFileAdapter</a>
 adapter.
         </p>
-        <h3 class="section-title">Interface <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCIntentMatch.html">NCIntentMatch</a></h3>
+        <h2 class="section-title">Interface <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCIntentMatch.html">NCIntentMatch</a>
 <a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             This interface defines a context of a particular intent match. It 
can be passed into the callback of the matched intent
             and provides the following:
@@ -1764,7 +1764,7 @@ intents:
             <li>Access to the original query context (<a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCContext.html">NCContext</a>).</li>
             <li>Various access APIs for intent tokens.</li>
         </ul>
-        <h3 class="section-title">Interface <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCContext.html">NCContext</a></h3>
+        <h2 class="section-title">Interface <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCContext.html">NCContext</a> <a 
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             This interface provides all available data about the parsed user 
input and all its
             supplemental information. It's accessible from 
<code>NCIntentMatch</code> interface and
@@ -1797,7 +1797,7 @@ intents:
                 returns list of all parsing variants for a given user input.
             </li>
         </ul>
-        <h3 class="section-title">Interface <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCRequest.html">NCRequest</a></h3>
+        <h2 class="section-title">Interface <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCRequest.html">NCRequest</a> <a 
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCRequest.html">NCRequest</a> 
interface
             is one of the several important entities in Data Model API that 
you as a model developer will be working with. You
@@ -1815,7 +1815,7 @@ intents:
                 Original request text, timestamp of its receipt, and server 
request ID.
             </li>
         </ul>
-        <h3 class="section-title">Interface <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html">NCToken</a></h3>
+        <h2 class="section-title">Interface <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html">NCToken</a> <a 
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html">NCToken</a> object 
is another
             key abstraction in Data Model API. A token is a detected model 
element and is a part of a fully parsed user input.
@@ -1828,7 +1828,7 @@ intents:
             Depending on the token ID each token will have different set of <a 
href="#meta">metadata properties</a>. Some common NLP properties
             are always present for tokens of all types.
         </p>
-        <h3 class="section-title">Class <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCResult.html">NCResult</a></h3>
+        <h2 class="section-title">Class <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCResult.html">NCResult</a> <a 
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             This class defines the result returned from model's intent 
callbacks. Result consists of the
             text body and the type. The result types are similar in notion to 
MIME type and have specific meaning only for REST applications
@@ -1837,7 +1837,7 @@ intents:
         </p>
     </section>
     <section id="builtin">
-        <h2 class="section-title">Built-In Tokens</h2>
+        <h2 class="section-title">Built-In Tokens <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             NLPCraft provides a number of built-in model elements (i.e. 
tokens) including the
             <a href="integrations.html">integration</a> with several popular 
3rd party NER frameworks. Table
@@ -2127,7 +2127,7 @@ intents:
         </table>
     </section>
     <section id="meta">
-        <h2 class="section-title">Token Metadata</h2>
+        <h2 class="section-title">Token Metadata <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Each token has different set of metadata. Sections below describe 
metadata for each built-in token
             supported by NLPCraft:
diff --git a/docs.html b/docs.html
index 100388f..161386a 100644
--- a/docs.html
+++ b/docs.html
@@ -23,7 +23,7 @@ id: overview
 
 <div class="col-md-8 second-column">
     <section id="overview">
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Apache NLPCraft is a Java-based <a target=_blank 
href="https://www.apache.org/licenses/";>open source</a> library
             for adding a natural language interface to modern applications.  
It enables people to interact with your products using voice or text. NLPCraft 
can connect with
@@ -63,7 +63,7 @@ id: overview
         </figure>
     </section>
     <section id="data-model">
-        <h3 class="section-title">Data Model</h3>
+        <h2 class="section-title">Data Model <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             NLPCraft employs model-as-a-code approach where everything you do 
in NLPCraft is part of your source code. Data model is an implementation of
             <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModel.html">NCModel</a> Java 
interface that
@@ -81,7 +81,7 @@ id: overview
         </p>
     </section>
     <section id="data-probe">
-        <h3 class="section-title">Data Probe</h3>
+        <h2 class="section-title">Data Probe <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Data probe is a light-weight container designed to securely deploy 
and manage user data models.
             Each probe can deploy and manage multiple models and many probes 
can be connected to the REST server (or a cluster of REST servers).
@@ -96,7 +96,7 @@ id: overview
         </p>
     </section>
     <section id="server">
-        <h3 class="section-title">REST Server</h3>
+        <h2 class="section-title">REST Server <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             REST server (or a cluster of REST servers behind a load balancer) 
provides URL endpoint for end-user applications
             to securely query data sources using natural language via data 
models deployed in data probes. Its main purpose is to
diff --git a/download.html b/download.html
index f1083b2..36fa14a 100644
--- a/download.html
+++ b/download.html
@@ -36,7 +36,7 @@ layout: interior
     </div>
     <div class="col-md-8 second-column">
         <section id="prerequisites">
-            <h2 class="section-title">Support</h2>
+            <h2 class="section-title">Support <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
             <p>
                 For any questions, feedback or suggestions:
             </p>
@@ -60,7 +60,7 @@ layout: interior
             </p>
         </section>
         <section id="src">
-            <h2 class="section-title">Official Apache Release</h2>
+            <h2 class="section-title">Official Apache Release <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
             <p>
                 Download the NLPCraft release - 
<code><b>{{site.latest_version}}</b></code> is the latest version:
             </p>
@@ -118,7 +118,7 @@ layout: interior
             </div>
         </section>
         <section id="zip">
-            <h2 class="section-title">Binary Release / Docker</h2>
+            <h2 class="section-title">Binary Release / Docker <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
             <p>
                 Download the NLPCraft binary release - 
<code><b>{{site.latest_version}}</b></code> is the latest version:
             </p>
@@ -177,7 +177,7 @@ layout: interior
             </div>
         </section>
         <section id="build">
-            <h2 class="section-title">Building Binaries</h2>
+            <h2 class="section-title">Building Binaries <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
             <p>
                 To build binaries from the source release download the <a 
href="#src">source release</a> and run
                 the following commands:
@@ -196,7 +196,7 @@ layout: interior
             </p>
         </section>
         <section id="verification">
-            <h2 class="section-title">Release Verification</h2>
+            <h2 class="section-title">Release Verification <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
             <p>
                 We highly recommend to verify the integrity and authenticity 
of the ZIP archive by comparing cryptographic
                 signatures. Following instructions assume binary release on 
Mac OS/Linux environment but the verification steps are
@@ -245,7 +245,7 @@ layout: interior
             </div>
         </section>
         <section id="maven">
-            <h2 class="section-title">Maven/Grape/SBT</h2>
+            <h2 class="section-title">Maven/Grape/SBT <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
             <p>
                 The easiest way to start using NLPCraft is to add Maven 
dependency (Grape, SBT, etc.) to your
                 project. NLPCraft project consists of a single module.
@@ -301,7 +301,7 @@ layout: interior
             </p>
         </section>
         <section id="github">
-            <h2 class="section-title">GitHub <i class="fab fa-fw 
fa-github"></i></h2>
+            <h2 class="section-title">GitHub <i class="fab fa-fw 
fa-github"></i> <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
             <p>
                 If you want to contribute to the project you need to get the 
full developer snapshot from <a target="github" 
href="https://github.com/apache/incubator-nlpcraft";>GitHub</a> mirror:
             </p>
@@ -322,7 +322,7 @@ layout: interior
             </div>
         </section>
         <section id="java-client">
-            <h2 class="section-title">Java Client <i class="fab 
fa-java"></i></h2>
+            <h2 class="section-title">Java Client <i class="fab fa-java"></i> 
<a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
             <p>
                 NLPCraft provides native Java Client for <a 
href="using-rest.html">REST APIs</a>. Java Client is hosted as a separate
                 <a target="github" 
href="https://github.com/apache/incubator-nlpcraft-java-client";>GitHub 
project</a> and you
diff --git a/examples/alarm_clock.html b/examples/alarm_clock.html
index ab4c1dd..9034b0e 100644
--- a/examples/alarm_clock.html
+++ b/examples/alarm_clock.html
@@ -23,7 +23,7 @@ id: alarm_clock
 
 <div class="col-md-8 second-column">
     <section id="overview">
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             This simple example provides a "alarm clock" implementation where 
you can ask to set the timer
             for a specific duration from now expressed in hours, minutes 
and/or seconds. You can say "ping me in 3 minutes",
@@ -36,7 +36,7 @@ id: alarm_clock
         </p>
     </section>
     <section id="new_project">
-        <h3 class="section-title">Create New Project</h3>
+        <h2 class="section-title">Create New Project <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             You can create new Java project in many different ways - we'll use 
<a href="/tools/script.html">NLPCraft CLI</a>
             to accomplish this task:
@@ -79,7 +79,7 @@ id: alarm_clock
         </div>
     </section>
     <section id="model">
-        <h3 class="section-title">Data Model</h3>
+        <h2 class="section-title">Data Model <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             We are going to start with declaring the static part of our model 
using JSON which we will later load using
             <code>NCModelFileAdapter</code> in our Java-based model 
implementation. Open <code>src/main/resources/<b>alarm_clock.json</b></code>
@@ -131,7 +131,7 @@ id: alarm_clock
         </p>
     </section>
     <section id="code">
-        <h3 class="section-title">Model Class</h3>
+        <h2 class="section-title">Model Class <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Open <code>src/main/java/demo/<b>AlarmClock.java</b></code> file 
and replace its content with the following code:
         </p>
@@ -260,7 +260,7 @@ public class AlarmClock extends NCModelFileAdapter {
         </ul>
     </section>
     <section id="build_project">
-        <h3 class="section-title">Build Project</h3>
+        <h2 class="section-title">Build Project <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Once we have our model ready let's go to <code>~/AlarmClock</code> 
directory and run the Maven build:
         </p>
@@ -273,7 +273,7 @@ public class AlarmClock extends NCModelFileAdapter {
         </p>
     </section>
     <section id="start_server">
-        <h3 class="section-title">Start Server</h3>
+        <h2 class="section-title">Start Server <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Run the following command to start local REST server, if it hasn't 
been started already, from the NLPCraft installation directory:
         </p>
@@ -315,7 +315,7 @@ public class AlarmClock extends NCModelFileAdapter {
         </ul>
     </section>
     <section id="testing">
-        <h3 class="section-title">Testing</h3>
+        <h2 class="section-title">Testing <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Remember the <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCIntentSample.html">@NCIntentSample</a>
             annotation we have used in our model code next to intent 
definition?
@@ -360,7 +360,7 @@ public class AlarmClock extends NCModelFileAdapter {
         </p>
     </section>
     <section id="rinse">
-        <h2 class="section-title">Rinse <span class="amp">&amp;</span> 
Repeat</h2>
+        <h2 class="section-title">Rinse <span class="amp">&amp;</span> Repeat 
<a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Typical development cycle consists of:
         </p>
@@ -383,7 +383,7 @@ public class AlarmClock extends NCModelFileAdapter {
         </p>
     </section>
     <section>
-        <h2 class="section-title">Done! 👌</h2>
+        <h2 class="section-title">Done! 👌 <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             You've created alarm clock data model, started the REST server and 
tested this model using the built-in test framework.
         </p>
diff --git a/examples/light_switch.html b/examples/light_switch.html
index 4c1bab7..c9cb0e5 100644
--- a/examples/light_switch.html
+++ b/examples/light_switch.html
@@ -23,7 +23,7 @@ id: light_switch
 
 <div class="col-md-8 second-column">
     <section id="overview">
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             This example provides very simple implementation for NLI-powered 
light switch. You can say something like
             "Turn the lights off in the entire house" or "Switch on the 
illumination in the master bedroom closet".
@@ -36,7 +36,7 @@ id: light_switch
         </p>
     </section>
     <section id="new_project">
-        <h3 class="section-title">Create New Project</h3>
+        <h2 class="section-title">Create New Project <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             You can create new Scala project in many different ways - we'll 
use <a href="/tools/script.html">NLPCraft CLI</a>
             to accomplish this task:
@@ -79,7 +79,7 @@ id: light_switch
         </div>
     </section>
     <section id="model">
-        <h3 class="section-title">Data Model</h3>
+        <h2 class="section-title">Data Model <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             We are going to start with declaring the static part of our model 
using YAML which we will later load using
             <code>NCModelFileAdapter</code> in our Scala-based model 
implementation. Open <code>src/main/resources/<b>light_switch.yaml</b></code>
@@ -149,7 +149,7 @@ intents:
         </p>
     </section>
     <section id="code">
-        <h3 class="section-title">Model Class</h3>
+        <h2 class="section-title">Model Class <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Open <code>src/main/scala/demo/<b>LightSwitch.scala</b></code> 
file and replace its content with the following code:
         </p>
@@ -222,7 +222,7 @@ class LightSwitch extends 
NCModelFileAdapter("light_switch.yaml") {
         </ul>
     </section>
     <section id="build_project">
-        <h3 class="section-title">Build Project</h3>
+        <h2 class="section-title">Build Project <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Once we have our model ready let's go to 
<code>~/LightSwitch</code> directory and run the Maven build:
         </p>
@@ -235,7 +235,7 @@ class LightSwitch extends 
NCModelFileAdapter("light_switch.yaml") {
         </p>
     </section>
     <section id="start_server">
-        <h3 class="section-title">Start Server</h3>
+        <h2 class="section-title">Start Server <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Run the following command to start local REST server, if it hasn't 
been started already, from the NLPCraft installation directory:
         </p>
@@ -277,7 +277,7 @@ class LightSwitch extends 
NCModelFileAdapter("light_switch.yaml") {
         </ul>
     </section>
     <section id="testing">
-        <h3 class="section-title">Testing</h3>
+        <h2 class="section-title">Testing <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Remember the <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCIntentSample.html">@NCIntentSample</a>
             annotation we have used in our model code next to intent 
definition?
@@ -322,7 +322,7 @@ class LightSwitch extends 
NCModelFileAdapter("light_switch.yaml") {
         </p>
     </section>
     <section id="rinse">
-        <h2 class="section-title">Rinse <span class="amp">&amp;</span> 
Repeat</h2>
+        <h2 class="section-title">Rinse <span class="amp">&amp;</span> Repeat 
<a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Typical development cycle consists of:
         </p>
@@ -345,7 +345,7 @@ class LightSwitch extends 
NCModelFileAdapter("light_switch.yaml") {
         </p>
     </section>
     <section>
-        <h2 class="section-title">Done! 👌</h2>
+        <h2 class="section-title">Done! 👌 <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             You've created light switch data model, started the REST server 
and tested this model using the built-in test framework.
         </p>
diff --git a/examples/sql_model.html b/examples/sql_model.html
index 5bb82bd..9de9b31 100644
--- a/examples/sql_model.html
+++ b/examples/sql_model.html
@@ -23,7 +23,7 @@ id: sql_model
 
 <div class="col-md-8 second-column">
     <section id="overview">
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             This example demonstrates a relatively complete implementation of 
natural language interface to a
             SQL database. This is a non-trivial example, spanning over a  
thousand lines of code, and it can
@@ -40,7 +40,7 @@ id: sql_model
         </p>
     </section>
     <section id="background">
-        <h2 class="section-title">Background</h2>
+        <h2 class="section-title">Background <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Many of modern existing natural language-to-SQL implementations 
use variations of
             deep learning approach where you first train the neural network on 
a pre-created training set and
@@ -85,7 +85,7 @@ id: sql_model
         </div>
     </section>
     <section id="sql">
-        <h3 class="section-title">Sample Database</h3>
+        <h2 class="section-title">Sample Database <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             We are going to be building natural language interface against 
slightly modified "Northwind" sample database
             from <a target="_" 
href="https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/linq/downloading-sample-databases#get-the-northwind-sample-database-for-sql-server";>Microsoft
 SQL Server</a>:
@@ -101,7 +101,7 @@ id: sql_model
         </p>
     </section>
     <section id="h2">
-        <h3 class="section-title">H2 Database</h3>
+        <h2 class="section-title">H2 Database <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             In our example we are using H2 database instance. For convenience, 
example provides a command line application
             <a 
href="https://github.com/apache/incubator-nlpcraft/blob/master/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/sql/db/SqlServer.scala";
 target="github"><code>db/SqlServer.scala</code></a>
@@ -110,7 +110,7 @@ id: sql_model
         </p>
     </section>
     <section id="model">
-        <h3 class="section-title">Data Model</h3>
+        <h2 class="section-title">Data Model <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Creating data model manually for the existing SQL schema can be a 
daunting task. NLPCraft provides the tool
             that can scan SQL schema and create working stub of such model 
automatically. All you have to do then is to
@@ -132,7 +132,7 @@ id: sql_model
         </ul>
     </section>
     <section id="impl">
-        <h2 class="section-title">Implementation</h2>
+        <h2 class="section-title">Implementation <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Implementation mainly consists of these files:
         </p>
@@ -155,7 +155,7 @@ id: sql_model
         </ul>
     </section>
     <section id="build_project">
-        <h3 class="section-title">Build Project</h3>
+        <h2 class="section-title">Build Project <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Assuming that project is located in <code>~/SqlModel</code> folder 
- let's go to into this directory and
             run the Maven build:
@@ -169,7 +169,7 @@ id: sql_model
         </p>
     </section>
     <section id="start_server">
-        <h3 class="section-title">Start Server</h3>
+        <h2 class="section-title">Start Server <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Run the following command to start local REST server, if it hasn't 
been started already, from the NLPCraft installation directory:
         </p>
@@ -211,7 +211,7 @@ id: sql_model
         </ul>
     </section>
     <section id="testing">
-        <h3 class="section-title">Testing</h3>
+        <h2 class="section-title">Testing <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Part of the <a href="/tools/test_framework.html">test 
framework</a>, the auto-validator class <a
                 target="javadoc"
@@ -246,7 +246,7 @@ id: sql_model
         </ul>
     </section>
     <section id="rinse">
-        <h2 class="section-title">Rinse <span class="amp">&amp;</span> 
Repeat</h2>
+        <h2 class="section-title">Rinse <span class="amp">&amp;</span> Repeat 
<a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Typical development cycle consists of:
         </p>
@@ -269,7 +269,7 @@ id: sql_model
         </p>
     </section>
     <section>
-        <h2 class="section-title">Done! 👌</h2>
+        <h2 class="section-title">Done! 👌 <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             You've created SQL model, started the REST server and tested this 
model using the built-in test framework.
         </p>
diff --git a/examples/weather_bot.html b/examples/weather_bot.html
index d9b3f75..ef0b124 100644
--- a/examples/weather_bot.html
+++ b/examples/weather_bot.html
@@ -23,7 +23,7 @@ id: weather_bot
 
 <div class="col-md-8 second-column">
     <section id="overview">
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             This example demonstrates relatively complete NLI-based weather 
service with JSON output and a non-trivial
             intent matching logic. It uses Apple's <a target="new" 
href="https://darksky.net";>DarkSky</a>
@@ -35,7 +35,7 @@ id: weather_bot
         </p>
     </section>
     <section id="new_project">
-        <h3 class="section-title">Create New Project</h3>
+        <h2 class="section-title">Create New Project <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             You can create new Java project in many different ways - we'll use 
<a href="/tools/script.html">NLPCraft CLI</a>
             to accomplish this task:
@@ -78,7 +78,7 @@ id: weather_bot
         </div>
     </section>
     <section id="model">
-        <h3 class="section-title">Data Model</h3>
+        <h2 class="section-title">Data Model <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             We are going to start with declaring the static part of our model 
using JSON which we will later load using
             <code>NCModelFileAdapter</code> in our Java-based model 
implementation. Open <code>src/main/resources/<b>weather.json</b></code>
@@ -142,7 +142,7 @@ id: weather_bot
             Now that our model is ready let's create a Java class that would 
load this model and define the intent
             that uses the model elements we have just defined.
         </p>
-        <h3 class="section-title">Model Class</h3>
+        <h2 class="section-title">Model Class <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Below is a full source code for our implementation. Note that this 
code uses several
             <a href="#tools">external tools</a> for IP-based geo-location and 
the weather information
@@ -359,7 +359,7 @@ public class Weather extends NCModelFileAdapter {
         </ul>
     </section>
     <section id="tools">
-        <h3 class="section-title">External Tools</h3>
+        <h2 class="section-title">External Tools <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             This example uses several external tools to implement its 
functionality:
         </p>
@@ -378,7 +378,7 @@ public class Weather extends NCModelFileAdapter {
         </ul>
     </section>
     <section id="build_project">
-        <h3 class="section-title">Build Project</h3>
+        <h2 class="section-title">Build Project <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Once we have our model ready let's go to <code>~/Weather</code> 
directory and run the Maven build:
         </p>
@@ -391,7 +391,7 @@ public class Weather extends NCModelFileAdapter {
         </p>
     </section>
     <section id="start_server">
-        <h3 class="section-title">Start Server</h3>
+        <h2 class="section-title">Start Server <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Run the following command to start local REST server, if it hasn't 
been started already, from the NLPCraft installation directory:
         </p>
@@ -432,7 +432,7 @@ public class Weather extends NCModelFileAdapter {
         </ul>
     </section>
     <section id="testing">
-        <h3 class="section-title">Testing</h3>
+        <h2 class="section-title">Testing <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Remember the <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCIntentSample.html">@NCIntentSample</a>
             annotation we have used in our model code next to intent 
definition?
@@ -477,7 +477,7 @@ public class Weather extends NCModelFileAdapter {
         </p>
     </section>
     <section id="rinse">
-        <h2 class="section-title">Rinse <span class="amp">&amp;</span> 
Repeat</h2>
+        <h2 class="section-title">Rinse <span class="amp">&amp;</span> Repeat 
<a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Typical development cycle consists of:
         </p>
@@ -500,7 +500,7 @@ public class Weather extends NCModelFileAdapter {
         </p>
     </section>
     <section>
-        <h2 class="section-title">Done! 👌</h2>
+        <h2 class="section-title">Done! 👌 <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             You've created alarm clock data model, started the REST server and 
tested this model using the built-in test framework.
         </p>
diff --git a/first-example.html b/first-example.html
index b7dc0c4..dec96c6 100644
--- a/first-example.html
+++ b/first-example.html
@@ -23,7 +23,7 @@ id: first_example
 
 <div class="col-md-8 second-column">
     <section id="setup">
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Let's develop a light switch prototype that can be controlled 
through the natural language.
             We'll keep <a target=_ 
href="https://cloud.google.com/speech-to-text/";>speech-to-text conversion</a> 
and integration
@@ -33,7 +33,7 @@ id: first_example
         </p>
     </section>
     <section id="new_project">
-        <h3 class="section-title">New Project</h3>
+        <h2 class="section-title">New Project <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             We'll use <a href="/tools/script.html">NLPCraft CLI</a> to perform 
all management operations.
             Run <code>bin/nlpcraft.sh</code> script to create a new project 
stub:
@@ -78,7 +78,7 @@ id: first_example
         </ul>
     </section>
     <section id="data_model">
-        <h2 class="section-title">Data Model</h2>
+        <h2 class="section-title">Data Model <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             In NLPCraft a data model is an implementation of <a 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModel.html">NCModel</a>
             interface. You can move most of the model configuration out to an 
external JSON or YAML file and use
@@ -334,7 +334,7 @@ class LightSwitchKotlinModel : 
NCModelFileAdapter("lightswitch_model.yaml") {
         </ul>
     </section>
     <section id="build_project">
-        <h3 class="section-title">Build Project</h3>
+        <h2 class="section-title">Build Project <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Once the  model ready, run the Maven build:
         </p>
@@ -344,7 +344,7 @@ class LightSwitchKotlinModel : 
NCModelFileAdapter("lightswitch_model.yaml") {
         </pre>
     </section>
     <section id="server">
-        <h3 class="section-title">Start Server</h3>
+        <h2 class="section-title">Start Server <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Start local REST server, if it hasn't been started already:
         </p>
@@ -369,7 +369,7 @@ class LightSwitchKotlinModel : 
NCModelFileAdapter("lightswitch_model.yaml") {
         </div>
     </section>
     <section id="test">
-        <h3 class="section-title">Testing</h3>
+        <h2 class="section-title">Testing <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Recall the <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCIntentSample.html">@NCIntentSample</a>
             annotation we have used in our code next to intent reference.
@@ -410,7 +410,7 @@ class LightSwitchKotlinModel : 
NCModelFileAdapter("lightswitch_model.yaml") {
         </div>
     </section>
     <section>
-        <h2 class="section-title">Congratulation! 👌</h2>
+        <h2 class="section-title">Congratulation! 👌 <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             You've created your first data model, started the
             REST server and tested the model using built-in model 
auto-validator.
diff --git a/getting-started.html b/getting-started.html
index a49e8a3..0f7cdf8 100644
--- a/getting-started.html
+++ b/getting-started.html
@@ -23,7 +23,7 @@ id: getting_started
 
 <div class="col-md-8 second-column">
     <section id="getting-started">
-        <h2 class="section-title">Getting Started</h2>
+        <h2 class="section-title">Getting Started <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Lets review how to run NLPCraft <a 
href="https://github.com/apache/incubator-nlpcraft/tree/master/nlpcraft/src/main/scala/org/apache/nlpcraft/examples";
 target="github">examples</a>.
             We will use an example model shipped with NLPCraft along with
@@ -42,7 +42,7 @@ id: getting_started
         </ul>
     </section>
     <section id="probe-server">
-        <h2 class="section-title">Data Probe <span class="amp">&amp;</span> 
REST Server</h2>
+        <h2 class="section-title">Data Probe <span class="amp">&amp;</span> 
REST Server <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
         <p>
             <a href="/server-and-probe.html">Data probes</a> are used to 
deploy and host data model, while <a href="/server-and-probe.html">REST 
server</a> (or a
             cluster of servers) is used to accept client REST calls and route 
them to the data model deployed on data probes.
@@ -87,7 +87,7 @@ id: getting_started
         </p>
     </section>
     <section id="querying">
-        <h2 class="section-title">Weather Forecast</h2>
+        <h2 class="section-title">Weather Forecast <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             We'll be testing <a href="/examples/weather_bot.html">Weather 
Example</a>
             to ask questions about weather forecast using REST APIs. This 
example returns a JSON weather
@@ -182,7 +182,7 @@ id: getting_started
         </div>
     </section>
     <section>
-        <h2 class="section-title">Done! 👌</h2>
+        <h2 class="section-title">Done! 👌 <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Use <code>stop</code> command to stop REST server and the data 
probe and <code>quit</code>
             command to quit from REPL mode:
diff --git a/installation.html b/installation.html
index ed8117f..e64f3b1 100644
--- a/installation.html
+++ b/installation.html
@@ -23,7 +23,7 @@ id: installation
 
 <div id="installation" class="col-md-8 second-column">
     <section id="install">
-        <h2 class="section-title">Installation</h2>
+        <h2 class="section-title">Installation <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Apache NLPCraft requires <b>no special installation</b> operations:
         </p>
@@ -43,7 +43,7 @@ id: installation
         </div>
     </section>
     <section id="clean">
-        <h2 class="section-title">Reset Database</h2>
+        <h2 class="section-title">Reset Database <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             For releases marked with <i class="fas fa-fw fa-bomb"></i> you 
need to reset the existing database. If you are
             using the Apache Ignite storage (default configuration for 
NLPCraft) you can accomplish this by
@@ -56,7 +56,7 @@ id: installation
         </p>
     </section>
     <section id="config">
-        <h2 class="section-title">External Configuration</h2>
+        <h2 class="section-title">External Configuration <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Due to <a target="asf" 
href="https://apache.org/legal/release-policy.html";>Apache release policy</a> 
the official Apache release cannot include content that is based on
             <a target=_ 
href="https://creativecommons.org/licenses/by/4.0/";>Commons Attribution 4.0 
International</a> (CC BY 4.0) license
@@ -73,7 +73,7 @@ id: installation
         </p>
     </section>
     <section id="ignite">
-        <h2 class="section-title">Apache Ignite 2.x <span 
class="amp">&amp;</span> Java 11+</h2>
+        <h2 class="section-title">Apache Ignite 2.x <span 
class="amp">&amp;</span> Java 11+ <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
         <p>
             Starting with NLPCraft 0.7.0, NLPCraft requires JDK 11 as its 
minimum JDK version.
             NLPCraft uses <a target=_ href="https://ignite.apache.org/";>Apache 
Ignite 2.x</a> project as its
diff --git a/integrations.html b/integrations.html
index c84d47f..cb93c8d 100644
--- a/integrations.html
+++ b/integrations.html
@@ -118,11 +118,11 @@ id: integrations
         <p>
             NLPCraft is an open source library for adding natural language 
Interface to any applications.
         </p>
-        <h3 class="section-title">Base NLP Engine</h3>
+        <h2 class="section-title">Base NLP Engine <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             N/A
         </p>
-        <h3 class="section-title">Token Provider</h3>
+        <h2 class="section-title">Token Provider <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             NLPCraft provides its own set of built-in elements. NLPCraft token 
IDs start with <code>nlpcraft</code>. Note
             also that all NLPCraft built-in tokens are normalized named 
entities (NNE), i.e. they provide normalized
@@ -330,12 +330,12 @@ id: integrations
             <a href="https://opennlp.apache.org";>Apache OpenNLP</a> is an 
open-source library for a machine learning based
             processing of natural language text.
         </p>
-        <h3 class="section-title">Base NLP Engine</h3>
+        <h2 class="section-title">Base NLP Engine <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             <a href="https://opennlp.apache.org";>Apache OpenNLP</a> is used by 
NLPCraft as a default base NLP engine. You can also set
             it explicitly on REST server and probe via configuration property: 
<code>nlpcraft.nlpEngine=opennlp</code>
         </p>
-        <h3 class="section-title">Token Provider</h3>
+        <h2 class="section-title">Token Provider <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             OpenNLP can be used independently as a token provider (even if 
other library is used as a base NLP engine).
             OpenNLP provides its own set of built-in tokens supported by 
NLPCraft.
@@ -418,11 +418,11 @@ id: integrations
             <a href="https://cloud.google.com/natural-language/";>Google 
Natural Language</a> uses machine learning
             to reveal the structure and meaning of text.
         </p>
-        <h3 class="section-title">Base NLP Engine</h3>
+        <h2 class="section-title">Base NLP Engine <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             N/A
         </p>
-        <h3 class="section-title">Token Provider</h3>
+        <h2 class="section-title">Token Provider <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Google Natural Language provides its own set of built-in elements.
             To use Google token provider the environment variable 
<code>GOOGLE_APPLICATION_CREDENTIALS</code>
@@ -521,7 +521,7 @@ id: integrations
             Stanford CoreNLP as a separate JAR file and add it to your
             project classpath if you are not using, or instead of, build tools.
         </p>
-        <h3 class="section-title">Base NLP Engine</h3>
+        <h2 class="section-title">Base NLP Engine <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             You can set Stanford CoreNLP as a base NLP engine:
         </p>
@@ -533,7 +533,7 @@ id: integrations
                 Stanford CoreNLP library must be available <b>on both</b> the 
REST server and the data probe.
             </li>
         </ul>
-        <h3 class="section-title">Token Provider</h3>
+        <h2 class="section-title">Token Provider <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Stanford CoreNLP can be used as a token provider independently 
from base NLP engine:
         <p>
@@ -574,11 +574,11 @@ id: integrations
         <p>
             <a href="https://spacy.io";>spaCy</a> is a free open-source library 
for Natural Language Processing in Python.
         </p>
-        <h3 class="section-title">Base NLP Engine</h3>
+        <h2 class="section-title">Base NLP Engine <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             N/A
         </p>
-        <h3 class="section-title">Token Provider</h3>
+        <h2 class="section-title">Token Provider <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             spaCy provides its own set of built-in elements. NLPCraft 
integrates with spaCy via local Python-based
             REST server <code>/src/main/python/spacy_proxy.py</code>. It is a 
very simple Flask-based implementation
diff --git a/intent-matching.html b/intent-matching.html
index 81a3f6e..457977d 100644
--- a/intent-matching.html
+++ b/intent-matching.html
@@ -23,14 +23,14 @@ id: intent_matching
 
 <div id="intent-matching"  class="col-md-8 second-column">
     <section>
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             <a href="/data-model.html">Data Model</a> processing logic is 
defined as a collection of one or more intents. The sections
             below explain what intent is, how to define it in your model, and 
how it works.
         </p>
     </section>
     <section id="intent">
-        <h2 class="section-title">Intent</h2>
+        <h2 class="section-title">Intent <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             The goal of the data model implementation is to take the input 
utterance and
             match it to a specific user-defined code that will execute for 
that input. The mechanism that
@@ -55,7 +55,7 @@ id: intent_matching
         </p>
     </section>
     <section id="idl">
-        <h2 class="section-title">IDL - Intent Definition Language</h2>
+        <h2 class="section-title">IDL - Intent Definition Language <a 
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             NLPCraft intents are written in Intent Definition Language (IDL).
             IDL is a relatively straightforward and simple language. For 
example,
@@ -343,7 +343,7 @@ id: intent_matching
                             <code>?</code> and <code>[1,3]</code> define an 
inclusive quantifier for that term, i.e. how many times
                             the match for this term should found. You can use 
the following quick abbreviations:
                         </p>
-                        <ul class="recover_bottom_margin">
+                        <ul class="recover-bottom-margin">
                             <li><code>*</code> is equal to 
<code>[0,∞]</code></li>
                             <li><code>+</code> is equal to 
<code>[1,∞]</code></li>
                             <li><code>?</code> is equal to 
<code>[0,1]</code></li>
@@ -397,7 +397,7 @@ id: intent_matching
                         fragment(when)
                 </pre>
                 <p><b>NOTES:</b></p>
-                <ul class="recover_bottom_margin">
+                <ul class="recover-bottom-margin">
                     <li>
                         Fragment statements (line 2 and 3) have a name 
(<code>buzz</code> and <code>when</code>) and a list of terms.
                     </li>
@@ -429,7 +429,7 @@ id: intent_matching
                 <p>
                     <b>NOTES:</b>
                 </p>
-                <ul class="recover_bottom_margin">
+                <ul class="recover-bottom-margin">
                     <li>
                         The effect of importing is the same as if the imported 
declarations were inserted in place of import
                         statement.
@@ -587,7 +587,7 @@ id: intent_matching
                 
<tr><td><code>java.lang.Boolean</code></td><td>Boolean</td><td>You can use 
<code><b>true</b></code> or <code><b>false</b></code> literals.</td></tr>
                 
<tr><td><code>java.util.List</code></td><td>List</td><td></td></tr>
                 
<tr><td><code>java.util.Map</code></td><td>Map</td><td></td></tr>
-                <tr><td><code>java.lang.Object</code></td><td>Any</td><td>Any 
of the supported type above. Use <code><b>null</b></code> literal for null 
value.</td></tr>
+                <tr><td><code>java.lang.Object</code></td><td>Any</td><td>Any 
of the supported types above. Use <code><b>null</b></code> literal for null 
value.</td></tr>
             </tbody>
         </table>
         <p>
@@ -600,10 +600,10 @@ id: intent_matching
         </p>
         <nav>
             <div class="nav nav-tabs" role="tablist">
-                <a class="nav-item nav-link active" data-toggle="tab" 
href="#fn_text" role="tab">Text</a>
+                <a class="nav-item nav-link active" data-toggle="tab" 
href="#fn_token" role="tab">Token</a>
+                <a class="nav-item nav-link" data-toggle="tab" href="#fn_text" 
role="tab">Text</a>
                 <a class="nav-item nav-link" data-toggle="tab" href="#fn_math" 
role="tab">Math</a>
                 <a class="nav-item nav-link" data-toggle="tab" 
href="#fn_collection" role="tab">Collection</a>
-                <a class="nav-item nav-link" data-toggle="tab" 
href="#fn_token" role="tab">Token</a>
                 <a class="nav-item nav-link" data-toggle="tab" 
href="#fn_metadata" role="tab">Metadata</a>
                 <a class="nav-item nav-link" data-toggle="tab" 
href="#fn_datetime" role="tab">Date <span class="amp">&amp;</span> Time</a>
                 <a class="nav-item nav-link" data-toggle="tab" href="#fn_req" 
role="tab">Request</a>
@@ -613,7 +613,270 @@ id: intent_matching
             </div>
         </nav>
         <div class="tab-content">
-            <div class="tab-pane fade show active" id="fn_text" 
role="tabpanel">
+            <div class="tab-pane fade show active" id="fn_token" 
role="tabpanel">
+                <div class="accordion" id="token_fns">
+                    <div class="card">
+                        <div class="card-header">
+                            <h2 class="mb-0">
+                                <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_id">
+                                    <code><b>tok_id</b>() ⇒ String</code>
+                                </button>
+                            </h2>
+                        </div>
+                        <div id="fn_tok_id" class="collapse" 
data-parent="#token_fns">
+                            <div class="card-body">
+                                <p class="fn-desc">
+                                    <em>Description:</em><br>
+                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#getId()">token
 ID.</a>
+                                </p>
+                                <p class="fn-usage">
+                                    <em>Usage:</em><br>
+                                </p>
+                                <pre class="brush:idl">
+                                    // Result: 'true' if the current token ID 
is equal to 'my_id'.
+                                    tok_id() == 'my_id'
+                                </pre>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="card">
+                        <div class="card-header">
+                            <h2 class="mb-0">
+                                <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_lemma">
+                                    <code><b>tok_lemma</b>() ⇒ String</code>
+                                </button>
+                            </h2>
+                        </div>
+                        <div id="fn_tok_lemma" class="collapse" 
data-parent="#token_fns">
+                            <div class="card-body">
+                                <p class="fn-desc">
+                                    <em>Description:</em><br>
+                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#getLemma()">token
 lemma.</a>
+                                </p>
+                                <p class="fn-usage">
+                                    <em>Usage:</em><br>
+                                </p>
+                                <pre class="brush:idl">
+                                    // Result: 'true' if the current token 
lemma is equal to 'work'.
+                                    tok_lemma() == 'work'
+                                </pre>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="card">
+                        <div class="card-header">
+                            <h2 class="mb-0">
+                                <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_stem">
+                                    <code><b>tok_stem</b>() ⇒ String</code>
+                                </button>
+                            </h2>
+                        </div>
+                        <div id="fn_tok_stem" class="collapse" 
data-parent="#token_fns">
+                            <div class="card-body">
+                                <p class="fn-desc">
+                                    <em>Description:</em><br>
+                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#getStem()">token
 stem.</a>
+                                </p>
+                                <p class="fn-usage">
+                                    <em>Usage:</em><br>
+                                </p>
+                                <pre class="brush:idl">
+                                    // Result: 'true' if the current token 
stem is equal to 'work'.
+                                    tok_stem() == 'work'
+                                </pre>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="card">
+                        <div class="card-header">
+                            <h2 class="mb-0">
+                                <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_pos">
+                                    <code><b>tok_pos</b>() ⇒ String</code>
+                                </button>
+                            </h2>
+                        </div>
+                        <div id="fn_tok_pos" class="collapse" 
data-parent="#token_fns">
+                            <div class="card-body">
+                                <p class="fn-desc">
+                                    <em>Description:</em><br>
+                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#getPos()">token
 POS</a> tag.
+                                </p>
+                                <p class="fn-usage">
+                                    <em>Usage:</em><br>
+                                </p>
+                                <pre class="brush:idl">
+                                    // Result: 'true' if the current token POS 
tag is equal to 'NN'.
+                                    tok_pos() == 'NN'
+                                </pre>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="card">
+                        <div class="card-header">
+                            <h2 class="mb-0">
+                                <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_sparsity">
+                                    <code><b>tok_sparsity</b>() ⇒ 
Boolean</code>
+                                </button>
+                            </h2>
+                        </div>
+                        <div id="fn_tok_sparsity" class="collapse" 
data-parent="#token_fns">
+                            <div class="card-body">
+                                <p class="fn-desc">
+                                    <em>Description:</em><br>
+                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#isSpars()">token
 sparsity</a> flag.
+                                </p>
+                                <p class="fn-usage">
+                                    <em>Usage:</em><br>
+                                </p>
+                                <pre class="brush:idl">
+                                    // Result: token sparsity flag.
+                                    tok_sparsity()
+                                </pre>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="card">
+                        <div class="card-header">
+                            <h2 class="mb-0">
+                                <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_unid">
+                                    <code><b>tok_unid</b>() ⇒ String</code>
+                                </button>
+                            </h2>
+                        </div>
+                        <div id="fn_tok_unid" class="collapse" 
data-parent="#token_fns">
+                            <div class="card-body">
+                                <p class="fn-desc">
+                                    <em>Description:</em><br>
+                                    Returns internal <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#isSpars()">token
 globally unique ID</a>.
+                                </p>
+                                <p class="fn-usage">
+                                    <em>Usage:</em><br>
+                                </p>
+                                <pre class="brush:idl">
+                                    // Result: internal token globally unique 
ID.
+                                    tok_unid()
+                                </pre>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="card">
+                        <div class="card-header">
+                            <h2 class="mb-0">
+                                <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" 
data-target="#fn_tok_is_abstract">
+                                    <code><b>tok_is_abstract</b>() ⇒ 
Boolean</code>
+                                </button>
+                            </h2>
+                        </div>
+                        <div id="fn_tok_is_abstract" class="collapse" 
data-parent="#token_fns">
+                            <div class="card-body">
+                                <p class="fn-desc">
+                                    <em>Description:</em><br>
+                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#isAbstract()">token
 abstract</a> flag.
+                                </p>
+                                <p class="fn-usage">
+                                    <em>Usage:</em><br>
+                                </p>
+                                <pre class="brush:idl">
+                                    // Result: token abstract flag.
+                                    tok_is_abstract()
+                                </pre>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="card">
+                        <div class="card-header">
+                            <h2 class="mb-0">
+                                <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" 
data-target="#fn_tok_is_bracketed">
+                                    <code><b>tok_is_abstract</b>() ⇒ 
Boolean</code>
+                                </button>
+                            </h2>
+                        </div>
+                        <div id="fn_tok_is_bracketed" class="collapse" 
data-parent="#token_fns">
+                            <div class="card-body">
+                                <p class="fn-desc">
+                                    <em>Description:</em><br>
+                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#isBracketed()">token
 bracketed</a> flag.
+                                </p>
+                                <p class="fn-usage">
+                                    <em>Usage:</em><br>
+                                </p>
+                                <pre class="brush:idl">
+                                    // Result: token bracketed flag.
+                                    tok_is_bracketed()
+                                </pre>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="card">
+                        <div class="card-header">
+                            <h2 class="mb-0">
+                                <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_is_direct">
+                                    <code><b>tok_is_direct</b>() ⇒ 
Boolean</code>
+                                </button>
+                            </h2>
+                        </div>
+                        <div id="fn_tok_is_direct" class="collapse" 
data-parent="#token_fns">
+                            <div class="card-body">
+                                <p class="fn-desc">
+                                    <em>Description:</em><br>
+                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#isDirect()">token
 direct</a> flag.
+                                </p>
+                                <p class="fn-usage">
+                                    <em>Usage:</em><br>
+                                </p>
+                                <pre class="brush:idl">
+                                    // Result: token direct flag.
+                                    tok_is_direct()
+                                </pre>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="card">
+                        <div class="card-header">
+                            <h2 class="mb-0">
+                                <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" 
data-target="#fn_tok_is_permutated">
+                                    <code><b>tok_is_direct</b>() ⇒ 
Boolean</code>
+                                </button>
+                            </h2>
+                        </div>
+                        <div id="fn_tok_is_permutated" class="collapse" 
data-parent="#token_fns">
+                            <div class="card-body">
+                                <p class="fn-desc">
+                                    <em>Description:</em><br>
+                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#isPermutated()">token
 permutated</a> flag.
+                                </p>
+                                <p class="fn-usage">
+                                    <em>Usage:</em><br>
+                                </p>
+                                <pre class="brush:idl">
+                                    // Result: token permutated flag.
+                                    tok_is_permutated()
+                                </pre>
+                            </div>
+                        </div>
+                    </div>
+                    <!--
+                        case "tok_is_english" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isEnglish, 1) }) }
+                        case "tok_is_freeWord" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isFreeWord, 1) }) }
+                        case "tok_is_quoted" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isQuoted, 1) }) }
+                        case "tok_is_stopword" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isStopWord, 1) }) }
+                        case "tok_is_swear" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isSwear, 1) }) }
+                        case "tok_is_user" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isUserDefined, 1) }) }
+                        case "tok_is_wordnet" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isWordnet, 1) }) }
+                        case "tok_ancestors" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getAncestors, 1) }) }
+                        case "tok_parent" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getParentId, 1) }) }
+                        case "tok_groups" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getGroups, 1) }) }
+                        case "tok_value" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getValue, 1) }) }
+                        case "tok_aliases" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getAliases, 1) }) }
+                        case "tok_start_idx" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getStartCharIndex, 1) }) }
+                        case "tok_end_idx" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getEndCharIndex, 1) }) }
+                        case "tok_this" ⇒ z0(() ⇒ Z(tok, 1))
+                        case "tok_find_part" ⇒ doFindPart()
+                        case "tok_find_parts" ⇒ doFindParts()
+                -->
+                </div>
+            </div>
+            <div class="tab-pane fade show" id="fn_text" role="tabpanel">
                 <ul class="fn-toc">
                     <li><a href=""><code><b>length</b>(p: {String|List|Map}) ⇒ 
Int</code></a></li>
                     <li><a href=""><code><b>trim</b>(p: String) ⇒ 
Int</code></a></li>
@@ -1028,62 +1291,6 @@ id: intent_matching
             </div>
             <div class="tab-pane fade show" id="fn_collection" role="tabpanel">
             </div>
-            <div class="tab-pane fade show" id="fn_token" role="tabpanel">
-                <div class="accordion" id="token_fns">
-                    <div class="card">
-                        <div class="card-header">
-                            <h2 class="mb-0">
-                                <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_id">
-                                    <code><b>tok_id</b>() ⇒ String</code>
-                                </button>
-                            </h2>
-                        </div>
-                        <div id="fn_tok_id" class="collapse" 
data-parent="#token_fns">
-                            <div class="card-body">
-                                <p class="fn-desc">
-                                    <em>Description:</em><br>
-                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#getId()">token
 ID.</a>
-                                </p>
-                                <p class="fn-usage">
-                                    <em>Usage:</em><br>
-                                </p>
-                                <pre class="brush:idl">
-                                    // Result: 'true' if the current token ID 
is equal to 'my_id'.
-                                    tok_id() == 'my_id'
-                                </pre>
-                            </div>
-                        </div>
-                    </div>
-                    <!--
-                        case "tok_id" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getId, 1) }) }
-                        case "tok_lemma" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getLemma, 1) }) }
-                        case "tok_stem" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getStem, 1) }) }
-                        case "tok_pos" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getPos, 1) }) }
-                        case "tok_sparsity" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getSparsity, 1) }) }
-                        case "tok_unid" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getUnid, 1) }) }
-                        case "tok_is_abstract" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isAbstract, 1) }) }
-                        case "tok_is_bracketed" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isBracketed, 1) }) }
-                        case "tok_is_direct" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isDirect, 1) }) }
-                        case "tok_is_english" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isEnglish, 1) }) }
-                        case "tok_is_freeWord" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isFreeWord, 1) }) }
-                        case "tok_is_quoted" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isQuoted, 1) }) }
-                        case "tok_is_stopword" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isStopWord, 1) }) }
-                        case "tok_is_swear" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isSwear, 1) }) }
-                        case "tok_is_user" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isUserDefined, 1) }) }
-                        case "tok_is_wordnet" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isWordnet, 1) }) }
-                        case "tok_ancestors" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getAncestors, 1) }) }
-                        case "tok_parent" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getParentId, 1) }) }
-                        case "tok_groups" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getGroups, 1) }) }
-                        case "tok_value" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getValue, 1) }) }
-                        case "tok_aliases" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getAliases, 1) }) }
-                        case "tok_start_idx" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getStartCharIndex, 1) }) }
-                        case "tok_end_idx" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).getEndCharIndex, 1) }) }
-                        case "tok_this" ⇒ z0(() ⇒ Z(tok, 1))
-                        case "tok_find_part" ⇒ doFindPart()
-                        case "tok_find_parts" ⇒ doFindParts()
-                -->
-                </div>
-            </div>
             <div class="tab-pane fade show" id="fn_metadata" role="tabpanel">
             </div>
             <div class="tab-pane fade show" id="fn_datetime" role="tabpanel">
@@ -1183,7 +1390,9 @@ id: intent_matching
                 </div>
             </div>
         </div>
-        <h2 id="idl_location" class="section-sub-title">IDL Location</h2>
+    </section>
+    <section>
+        <h2 id="idl_location" class="section-title">IDL Location</h2>
         <p>
             IDL declarations can be placed in different locations based on 
user preferences:
         </p>
@@ -1258,7 +1467,7 @@ id: intent_matching
         </ul>
     </section>
     <section id="binding">
-        <h2 class="section-title">Binding Intent</h2>
+        <h2 class="section-title">Binding Intent <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             IDL intents must be bound to their callback methods. This binding 
is accomplished using the
             following Java annotations:
@@ -1485,7 +1694,7 @@ id: intent_matching
         </ul>
     </section>
     <section id="logic">
-        <h3 class="section-title">Intent Matching Logic</h3>
+        <h2 class="section-title">Intent Matching Logic</h2>
         <p>
             In order to understand the intent matching logic lets review the 
overall user request processing workflow:
         </p>
@@ -1607,7 +1816,7 @@ id: intent_matching
         </ul>
     </section>
     <section id="intent_callback">
-        <h2 class="section-title">Intent Callback</h2>
+        <h2 class="section-title">Intent Callback <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Whether the intent is defined directly in <code>@NCIntent</code> 
annotation or indirectly via <code>@NCIntentRef</code>
             annotation - it is always attached to a callback method:
@@ -1758,7 +1967,7 @@ id: intent_matching
         </p>
     </section>
     <section id="model_callbacks">
-        <h2 class="section-title">Model Callbacks</h2>
+        <h2 class="section-title">Model Callbacks <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModel.html">NCModel</a> 
interface provides
             several callbacks that are invoked before, during and after intent 
matching. They provide an opportunity to inject
@@ -1872,11 +2081,11 @@ id: intent_matching
         <li><a href="#intent">Overview</a></li>
         <li><a href="#idl">IDL Syntax</a></li>
         <li><a href="#idl_functions">IDL Functions</a></li>
+        <li><a href="#idl_location">IDL Location</a></li>
         <li><a href="#binding">Intent Binding</a></li>
         <li><a href="#logic">Intent Matching</a></li>
         <li><a href="#intent_callback">Intent Callback</a></li>
         <li><a href="#model_callbacks">Model Callbacks</a></li>
-        <li><a href="#examples">Intent Examples</a></li>
         {% include quick-links.html %}
     </ul>
 </div>
diff --git a/metrics-and-tracing.html b/metrics-and-tracing.html
index 976ad7b..9b13cbf 100644
--- a/metrics-and-tracing.html
+++ b/metrics-and-tracing.html
@@ -23,7 +23,7 @@ id: metrics
 
 <div id="metrics-and-tracing" class="col-md-8 second-column">
     <section id="overview">
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Both REST server and data probe come with <a target=_ 
href="https://opencensus.io";>OpenCensus</a>
             instrumentation. NLPCraft bundles several built-in exporters for 
various OpenCensus trace and stats
@@ -130,7 +130,7 @@ id: metrics
         </p>
     </section>
     <section id="server">
-        <h2 class="section-title">Configuring Server</h2>
+        <h2 class="section-title">Configuring Server <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             OpenCensus exporters for the REST server are lifecycle components. 
Server lifecycle components are the implementations
             of <code>NCServerLifecycle</code> trait. Lifecycle components get 
callbacks for various stages of the server
@@ -161,7 +161,7 @@ nlpcraft {
         </p>
     </section>
     <section id="probe">
-        <h2 class="section-title">Configuring Probe</h2>
+        <h2 class="section-title">Configuring Probe <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Just like on the REST server OpenCensus exporters for the data 
probe are lifecycle components. Probe lifecycle
             components are the implementations
@@ -199,7 +199,7 @@ nlpcraft {
         </ul>
     </section>
     <section id="traces">
-        <h2 class="section-title">Traces</h2>
+        <h2 class="section-title">Traces <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             When traces are exporter, there are two service names used for 
NLPCraft traces that will appear on UI backends:
         </p>
@@ -214,7 +214,7 @@ nlpcraft {
         </p>
     </section>
     <section id="metrics">
-        <h2 class="section-title">Metrics</h2>
+        <h2 class="section-title">Metrics <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             When it comes to metrics each exporter has different set of 
configuration for either a namespace or
             name prefix on how these metrics will be available on the UI 
backends:
diff --git a/relnotes/release-notes-0.5.0.html 
b/relnotes/release-notes-0.5.0.html
index e758b7c..2b4e24f 100644
--- a/relnotes/release-notes-0.5.0.html
+++ b/relnotes/release-notes-0.5.0.html
@@ -21,7 +21,7 @@ layout: release-notes
 -->
 
 <section id="new">
-    <h2 class="section-title">🙌 New</h2>
+    <h2 class="section-title">🙌 New <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li>
             Fixed <a target="jira" 
href="https://issues.apache.org/jira/projects/NLPCRAFT/issues/NLPCRAFT-13";>Issue
 #13</a>.
@@ -32,7 +32,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="enhancements">
-    <h2 class="section-title">🤖 Enhancements</h2>
+    <h2 class="section-title">🤖 Enhancements <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
     <ul>
         <li>Fixed <a target="jira" 
href="https://issues.apache.org/jira/projects/NLPCRAFT/issues/NLPCRAFT-29";>Issue
 #29</a>.</li>
         <li>Fixed <a target="jira" 
href="https://issues.apache.org/jira/projects/NLPCRAFT/issues/NLPCRAFT-27";>Issue
 #27</a>.</li>
@@ -41,7 +41,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="fixes">
-    <h2 class="section-title">🧐 Fixes</h2>
+    <h2 class="section-title">🧐 Fixes <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li>Fixed <a target="jira" 
href="https://issues.apache.org/jira/projects/NLPCRAFT/issues/NLPCRAFT-2";>Issue 
#2</a>.</li>
         <li>Fixed <a target="jira" 
href="https://issues.apache.org/jira/projects/NLPCRAFT/issues/NLPCRAFT-4";>Issue 
#4</a>.</li>
diff --git a/relnotes/release-notes-0.6.2.html 
b/relnotes/release-notes-0.6.2.html
index 34d49ab..c60145a 100644
--- a/relnotes/release-notes-0.6.2.html
+++ b/relnotes/release-notes-0.6.2.html
@@ -21,14 +21,14 @@ layout: release-notes
 -->
 
 <section id="new">
-    <h2 class="section-title">🙌 New</h2>
+    <h2 class="section-title">🙌 New <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-30'>NLPCRAFT-30</a> - 
Finish SQL example.</li>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-43'>NLPCRAFT-43</a> - SQL 
example developer test.</li>
     </ul>
 </section>
 <section id="enhancements">
-    <h2 class="section-title">🤖 Enhancements</h2>
+    <h2 class="section-title">🤖 Enhancements <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-31'>NLPCRAFT-31</a> - 
Tests should always stop all started components.</li>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-35'>NLPCRAFT-35</a> - Fix 
java tests.</li>
@@ -47,7 +47,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="fixes">
-    <h2 class="section-title">🧐 Fixes</h2>
+    <h2 class="section-title">🧐 Fixes <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-45'>NLPCRAFT-45</a> - Site 
example error.</li>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-46'>NLPCRAFT-46</a> - 
Release instructions must be updated.</li>
diff --git a/relnotes/release-notes-0.7.0.html 
b/relnotes/release-notes-0.7.0.html
index 105b596..daac077 100644
--- a/relnotes/release-notes-0.7.0.html
+++ b/relnotes/release-notes-0.7.0.html
@@ -21,7 +21,7 @@ layout: release-notes
 -->
 
 <section id="overview">
-    <h2 class="section-title">Overview</h2>
+    <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         <a href="/download.html">NLPCraft 0.7.0</a> brings about several 
important features:
     </p>
@@ -54,7 +54,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="new">
-    <h2 class="section-title">🙌 New</h2>
+    <h2 class="section-title">🙌 New <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-12'>NLPCRAFT-12</a> - 
Introduce &#39;not&#39; function. </li>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-41'>NLPCRAFT-41</a> - 
Synonyms suggestion tool.</li>
@@ -63,7 +63,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="enhancements">
-    <h2 class="section-title">🤖 Enhancements</h2>
+    <h2 class="section-title">🤖 Enhancements <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-51'>NLPCRAFT-51</a> - Add 
SqlGen tool documentation.</li>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-52'>NLPCRAFT-52</a> - Add 
test framework documentation.</li>
@@ -95,7 +95,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="fixes">
-    <h2 class="section-title">🧐 Fixes</h2>
+    <h2 class="section-title">🧐 Fixes <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-3'>NLPCRAFT-3</a> - Finish 
example documentation.</li>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-62'>NLPCRAFT-62</a> - 
Tests failed.</li>
diff --git a/relnotes/release-notes-0.7.1.html 
b/relnotes/release-notes-0.7.1.html
index f74a0e5..5f78c7e 100644
--- a/relnotes/release-notes-0.7.1.html
+++ b/relnotes/release-notes-0.7.1.html
@@ -21,13 +21,13 @@ layout: release-notes
 -->
 
 <section id="overview">
-    <h2 class="section-title">Overview</h2>
+    <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         <a href="/download.html">NLPCraft 0.7.1</a> brings about several 
important bug fixes.
     </p>
 </section>
 <section id="new">
-    <h2 class="section-title">🙌 New</h2>
+    <h2 class="section-title">🙌 New <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-108'>NLPCRAFT-108</a> - 
Create 'nlpcraft' CLI tool.</li>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-139'>NLPCRAFT-139</a> - 
Update LICENSE/NOTICE for <code>NCBlowfishHasher</code> implementation.</li>
@@ -41,7 +41,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="enhancements">
-    <h2 class="section-title">🤖 Enhancements</h2>
+    <h2 class="section-title">🤖 Enhancements <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-145'>NLPCRAFT-145</a> - 
Check conversation and dialogue clearing on logout.</li>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-146'>NLPCRAFT-146</a> - 
Intercept and improve akka rejection messages.</li>
@@ -49,7 +49,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="fixes">
-    <h2 class="section-title">🧐 Fixes</h2>
+    <h2 class="section-title">🧐 Fixes <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-105'>NLPCRAFT-105</a> - 
Strange line-breaks on 'mvn verify' output under Windows 10.</li>
         <li><a target="jira" 
href='https://issues.apache.org/jira/browse/NLPCRAFT-137'>NLPCRAFT-137</a> - 
<code>NCService</code> start time calculation error.</li>
diff --git a/relnotes/release-notes-0.7.2.html 
b/relnotes/release-notes-0.7.2.html
index 74cbc20..fb748a3 100644
--- a/relnotes/release-notes-0.7.2.html
+++ b/relnotes/release-notes-0.7.2.html
@@ -21,14 +21,14 @@ layout: release-notes
 -->
 
 <section id="overview">
-    <h2 class="section-title">Overview</h2>
+    <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         <a href="/download.html">NLPCraft 0.7.2</a> brings about several 
important bug fixes.
         First full public release of the new <a 
href="/tools/script.html"><code>nlpcraft.{sh|cmd}</code></a> management utility.
     </p>
 </section>
 <section id="new">
-    <h2 class="section-title">🙌 New</h2>
+    <h2 class="section-title">🙌 New <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-152'>NLPCRAFT-152</a> - 
Create 'project' command for <a 
href="/tools/script.html"><code>nlpcraft.{sh|cmd}</code></a> script.</li>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-153'>NLPCRAFT-153</a> - 
Create 'model' command for <a 
href="/tools/script.html"><code>nlpcraft.{sh|cmd}</code></a> script.</li>
@@ -38,7 +38,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="enhancements">
-    <h2 class="section-title">🤖 Enhancements</h2>
+    <h2 class="section-title">🤖 Enhancements <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-163'>NLPCRAFT-163</a> - 
Check that matched intent contains at least one token from current question 
(i.e. not all tokens are from STM).</li>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-166'>NLPCRAFT-166</a> - 
Model misses default constructor error.</li>
@@ -46,7 +46,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="fixes">
-    <h2 class="section-title">🧐 Fixes</h2>
+    <h2 class="section-title">🧐 Fixes <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-142'>NLPCRAFT-142</a> - 
Probe connected, but its models are not loaded.</li>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-161'>NLPCRAFT-161</a> - 
Conversation property should be added into term.</li>
diff --git a/relnotes/release-notes-0.7.3.html 
b/relnotes/release-notes-0.7.3.html
index 0284321..ae5dbbf 100644
--- a/relnotes/release-notes-0.7.3.html
+++ b/relnotes/release-notes-0.7.3.html
@@ -21,7 +21,7 @@ layout: release-notes
 -->
 
 <section id="overview">
-    <h2 class="section-title">Overview</h2>
+    <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         <a href="/download.html">NLPCraft 0.7.3</a> brings about several 
important bug fixes, improvements and enhancements.
     </p>
@@ -33,7 +33,7 @@ layout: release-notes
     </div>
 </section>
 <section id="new">
-    <h2 class="section-title">🙌 New</h2>
+    <h2 class="section-title">🙌 New <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-154'>NLPCRAFT-154</a> - 
Update website docs for <code>nlpcraft.{sh|cmd}</code> script and remove 
<code>nccurl</code> script.</li>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-169'>NLPCRAFT-169</a> - 
Add model code examples to model docs and javadoc.</li>
@@ -46,7 +46,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="enhancements">
-    <h2 class="section-title">🤖 Enhancements</h2>
+    <h2 class="section-title">🤖 Enhancements <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-170'>NLPCRAFT-170</a> - 
New CLI commands.</li>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-177'>NLPCRAFT-177</a> - 
Swagger methods invalid tags.</li>
@@ -62,7 +62,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="fixes">
-    <h2 class="section-title">🧐 Fixes</h2>
+    <h2 class="section-title">🧐 Fixes <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-172'>NLPCRAFT-172</a> - 
<code>org.apache.nlpcraft.model.conversation.NCConversationSpec</code> does not 
work.</li>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-173'>NLPCRAFT-173</a> - 
<code>additionalStopWords</code> configuration property invalid name (case 
error).</li>
diff --git a/relnotes/release-notes-0.7.4.html 
b/relnotes/release-notes-0.7.4.html
index 4adce1e..22f649a 100644
--- a/relnotes/release-notes-0.7.4.html
+++ b/relnotes/release-notes-0.7.4.html
@@ -21,13 +21,13 @@ layout: release-notes
 -->
 
 <section id="overview">
-    <h2 class="section-title">Overview</h2>
+    <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
     <p>
         <a href="/download.html">NLPCraft 0.7.4</a> brings about several 
important bug fixes, improvements and enhancements.
     </p>
 </section>
 <section id="new">
-    <h2 class="section-title">🙌 New</h2>
+    <h2 class="section-title">🙌 New <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-92'>NLPCRAFT-92</a> - 
Create Groovy-based example for NLPCraft.</li>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-101'>NLPCRAFT-101</a> - 
Fix and re-test Java client.</li>
@@ -38,7 +38,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="enhancements">
-    <h2 class="section-title">🤖 Enhancements</h2>
+    <h2 class="section-title">🤖 Enhancements <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-96'>NLPCRAFT-96</a> - 
Clear DB data instructions.</li>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-111'>NLPCRAFT-111</a> - 
Fix Scala futures global pool usage.</li>
@@ -51,7 +51,7 @@ layout: release-notes
     </ul>
 </section>
 <section id="fixes">
-    <h2 class="section-title">🧐 Fixes</h2>
+    <h2 class="section-title">🧐 Fixes <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
     <ul>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-5'>NLPCRAFT-5</a> - 
Performance degradation on long input sentences.</li>
         <li><a 
href='https://issues.apache.org/jira/browse/NLPCRAFT-20'>NLPCRAFT-20</a> - 
Limits not found for entities which names coincide with numeric units 
names.</li>
diff --git a/server-and-probe.html b/server-and-probe.html
index b23cd4c..662d440 100644
--- a/server-and-probe.html
+++ b/server-and-probe.html
@@ -23,13 +23,13 @@ id: server_and_probe
 
 <div id="server-and-probes" class="col-md-8 second-column">
     <section>
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             REST server and data probe are the two runtime components that you 
need to run when using NLPCraft.
             Data probes are used to deploy and host data model, while REST 
server (or a cluster of servers) is used
             to accept client REST call and route them to the data models via 
data probes.
         </p>
-        <h3 class="section-sub-title">REST Server vs. Data Probe</h3>
+        <h3 class="section-sub-title">REST Server vs. Data Probe <a 
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h3>
         <p>
             It's important to remember why REST server is a separate component 
from a data probe. While a
             typical deployment would have only one REST server (or a cluster 
of REST servers behind a single
@@ -64,7 +64,7 @@ id: server_and_probe
         </p>
     </section>
     <section id="server">
-        <h2 class="section-title">REST Server</h2>
+        <h2 class="section-title">REST Server <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             REST server accepts client REST calls and routes them to the data 
model hosted by data probes.
             REST server can be started in different ways:
@@ -219,7 +219,7 @@ id: server_and_probe
         </ul>
     </section>
     <section id="probe">
-        <h2 class="section-title">Data Probe</h2>
+        <h2 class="section-title">Data Probe <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Data probes are used to deploy and host data mode, and can also be 
started in several ways:
         </p>
@@ -306,7 +306,7 @@ id: server_and_probe
         </div>
     </section>
     <section id="config">
-        <h2 class="section-title">Configuration</h2>
+        <h2 class="section-title">Configuration <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Both REST server and the data probe use <a target=_ 
href="https://github.com/lightbend/config/";>Typesafe Config</a> for their 
configuration:
         </p>
@@ -408,7 +408,7 @@ nlpcraft {
         </div>
     </section>
     <section id="ansi">
-        <h2 class="section-title">ANSI Colors</h2>
+        <h2 class="section-title">ANSI Colors <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Both NLPCraft server and probe use ANSI coloring via
             <a target=_ 
href="https://en.wikipedia.org/wiki/ANSI_escape_code";>ANSI escape sequences</a> 
for their log
@@ -429,7 +429,7 @@ nlpcraft {
         </p>
     </section>
     <section id="testing">
-        <h2 class="section-title">CI Testing</h2>
+        <h2 class="section-title">CI Testing <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             It is a good practice to run units tests during routine builds 
using Maven (or others CI toolchains). To
             test data models you need to have a running server and then start 
one or more data probes with
diff --git a/tools/embedded_probe.html b/tools/embedded_probe.html
index b4af1dc..a41f325 100644
--- a/tools/embedded_probe.html
+++ b/tools/embedded_probe.html
@@ -23,7 +23,7 @@ id: embedded_probe
 
 <div class="col-md-8 second-column">
     <section id="overview">
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Embedded probe allows to run data probe in the same JVM process as 
JVM-based client application.
         </p>
@@ -53,7 +53,7 @@ id: embedded_probe
         </figure>
     </section>
     <section id="usage">
-        <h2 class="section-title">Usage</h2>
+        <h2 class="section-title">Usage <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Embedded probe support consists of the following types in 
<code>org.apache.nlpcraft.probe.embedded</code> package:
         </p>
diff --git a/tools/script.html b/tools/script.html
index 0221af9..45738da 100644
--- a/tools/script.html
+++ b/tools/script.html
@@ -23,7 +23,7 @@ id: script
 
 <div class="col-md-8 second-column">
     <section id="overview">
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             NLPCraft CLI <code>bin/nlpcraft.{sh|cmd}</code> script is a 
<b>central management utility</b> for NLPCraft that supports
             interactive REPL and command line modes. Most of the functions 
this script does can be done through running
@@ -52,7 +52,7 @@ id: script
         </p>
     </section>
     <section id="quick_start">
-        <h2 class="section-title">Quick Start</h2>
+        <h2 class="section-title">Quick Start <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             The <code>bin/nlpcraft.{sh|cmd}</code> works in two modes:
         </p>
@@ -116,7 +116,7 @@ id: script
         </p>
     </section>
     <section id="os_commands">
-        <h2 class="section-title">OS Commands</h2>
+        <h2 class="section-title">OS Commands <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             You can run any external OS-specific commands from 
<code>bin/nlpcraft.{sh|cmd}</code> script by prepending such
             command with a <code>$</code> symbol. For example:
@@ -136,7 +136,7 @@ id: script
         </p>
     </section>
     <section id="tips">
-        <h3 class="section-title">Tips <span class="amp">&amp;</span> 
Tricks</h3>
+        <h2 class="section-title">Tips <span class="amp">&amp;</span> Tricks 
<a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             NLPCraft CLI is standard command line utility that can be used in 
the familiar ways both in
             Linux/Unix/MacOS and Window environments.
diff --git a/tools/sql_model_gen.html b/tools/sql_model_gen.html
index 6455501..b330d2d 100644
--- a/tools/sql_model_gen.html
+++ b/tools/sql_model_gen.html
@@ -23,7 +23,7 @@ id: sql_model_gen
 
 <div class="col-md-8 second-column">
     <section id="overview">
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             When using NLPCraft to develop natural language interface to the 
existing SQL RDBMS one of the
             routine tasks is to develop a data model that mirrors the SQL 
schema for the given
@@ -36,7 +36,7 @@ id: sql_model_gen
         </p>
     </section>
     <section id="usage">
-        <h2 class="section-title">Usage</h2>
+        <h2 class="section-title">Usage <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             This utility can be run in several ways:
         </p>
@@ -118,7 +118,7 @@ id: sql_model_gen
         </ul>
     </section>
     <section id="examples">
-        <h2 class="section-title">Examples</h2>
+        <h2 class="section-title">Examples <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             SQL model generator is used by <a target="github" 
href="https://github.com/apache/incubator-nlpcraft/tree/master/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/sql";>SQL
 Model</a> example. This example comes with two YAML models:
         </p>
diff --git a/tools/syn_tool.html b/tools/syn_tool.html
index ed64105..9ae3c3d 100644
--- a/tools/syn_tool.html
+++ b/tools/syn_tool.html
@@ -23,7 +23,7 @@ id: syn_tool
 
 <div class="col-md-8 second-column">
     <section id="overview">
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Synonym suggester tool takes an existing model, analyses its 
synonyms and intents and comes up with
             a list of synonyms that are currently missing that you might want 
to add to your model.
@@ -37,7 +37,7 @@ id: syn_tool
         </p>
     </section>
     <section id="usage">
-        <h2 class="section-title">Usage</h2>
+        <h2 class="section-title">Usage <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             In order to use this tool the <code>ctxword</code> server and 
NLPCraft server should be started as well as
             the server's configuration should potentially be updated.
diff --git a/tools/test_framework.html b/tools/test_framework.html
index 82de36d..626a479 100644
--- a/tools/test_framework.html
+++ b/tools/test_framework.html
@@ -23,7 +23,7 @@ id: test_framework
 
 <div class="col-md-8 second-column">
     <section id="overview">
-        <h2 class="section-title">Overview</h2>
+        <h2 class="section-title">Overview <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             NLPCraft comes built-in with a simple to use testing framework 
that can be used with any
             popular unit testing JVM frameworks such as <a 
href="https://testng.org";>TestNG</a> or
@@ -82,7 +82,7 @@ id: test_framework
         </ul>
     </section>
     <section id="usage">
-        <h2 class="section-title">Test client</h2>
+        <h2 class="section-title">Test client <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Here's a code for unit test using test client for the model from 
<a href="/examples/alarm_clock.html">Alarm Clock</a>
             example illustrating the usage of test framework together with 
JUnit 5:
@@ -149,7 +149,7 @@ public class AlarmTest {
         </div>
     </section>
     <section id="autotest">
-        <h2 class="section-title">Auto Model Validation</h2>
+        <h2 class="section-title">Auto Model Validation <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             The same model from <a href="/examples/alarm_clock.html">Alarm 
Clock</a> example can be auto validated using
             <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.html">NCTestAutoModelValidator</a>
@@ -241,7 +241,7 @@ public class AlarmModel extends NCModelFileAdapter {
         </p>
     </section>
     <section id="examples">
-        <h2 class="section-title">Examples</h2>
+        <h2 class="section-title">Examples <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             All <a target="github" 
href="https://github.com/apache/incubator-nlpcraft/tree/master/nlpcraft/src/main/scala/org/apache/nlpcraft/examples";>examples</a>
             shipped with NLPCraft come with instructions on how to 
auto-validate their models.
diff --git a/using-rest.html b/using-rest.html
index d771ea8..3962c93 100644
--- a/using-rest.html
+++ b/using-rest.html
@@ -24,13 +24,13 @@ id: rest
 <!--suppress HtmlDeprecatedTag -->
 <div class="col-md-8 second-column">
     <section>
-        <h2 class="section-title">TL;DR;</h2>
+        <h2 class="section-title">TL;DR; <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             View <a target="swaggerhub" 
href="https://app.swaggerhub.com/apis-docs/Apache-NLPCraft/apache-nlpcraft/{{site.latest_version}}";>Open
 API Specification</a> in a separate window. 👌
         </p>
     </section>
     <section id="overview">
-        <h2 class="section-title">...bit more details</h2>
+        <h2 class="section-title">...bit more details <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             REST API provides a universal integration path for any type of 
user application to connect to and use NLPCraft.
             By using REST API these applications can ask natural language 
questions, get results and perform
@@ -51,7 +51,7 @@ id: rest
         </div>
     </section>
     <section id="java-client">
-        <h3 class="section-title">Java Client <i class="fab fa-java"></i></h3>
+        <h2 class="section-title">Java Client <i class="fab fa-java"></i> <a 
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             NLPCraft provide native Java client that enables easy-to-use 
Java-based API wrapping standard
             NLPCraft REST APIs. It can be used by any JVM language that 
provides Java interop such as Scala, Groovy, or Kotlin:
@@ -64,7 +64,7 @@ id: rest
 
     </section>
     <section id="format">
-        <h3 class="section-title">REST URL</h3>
+        <h2 class="section-title">REST URL <a href="#"><i class="top-link fas 
fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             REST API accepts only <code>POST</code> HTTP calls and 
<code>application/json</code> content type
             for JSON payload and responses. When issuing a REST call you will 
be using the following URL:
@@ -96,7 +96,7 @@ id: rest
         </div>
     </section>
     <section id="users">
-        <h3 class="section-title">Users <span class="amp">&amp;</span> 
Organizations</h3>
+        <h2 class="section-title">Users <span class="amp">&amp;</span> 
Organizations <a href="#"><i class="top-link fas fa-fw 
fa-angle-double-up"></i></a></h2>
         <p>
             In NLPCraft most of the REST calls require ID of the user. Every 
user belongs to a company, and each user
             has administrative privileges flag. The notion of the user and 
company IDs additionally to the model ID provide
@@ -143,7 +143,7 @@ id: rest
         </p>
     </section>
     <section id="server_errors">
-        <h2 class="section-title">Server Errors</h2>
+        <h2 class="section-title">Server Errors <a href="#"><i class="top-link 
fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             When REST server returns HTTP error the response body contains 
JSON object (<code>Content-Type → application/json</code>)
             with two fields <code>code</code> and <code>msg</code>:

Reply via email to