WIP.
diff --git a/api-components.html b/api-components.html
index c3e82e4..ab17278 100644
--- a/api-components.html
+++ b/api-components.html
@@ -21,7 +21,7 @@
  limitations under the License.
 -->
 
-<div class="col-md-8 second-column">
+<div class="col-md-8 second-column" xmlns="http://www.w3.org/1999/html">
     <section id="overview">
         <h2 class="section-title">API Components<a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
 
@@ -47,7 +47,7 @@
         <p>Typical part of code:</p>
 
         <pre class="brush: scala, highlight: []">
-              // Initialized prepared domain model.
+              // Initializes prepared domain model.
               val mdl = new CustomNlpModel()
 
               // Creates client for given model.
@@ -79,8 +79,8 @@
                 <td><code>Token</code></td>
                 <td>
                     <code>Token</code> represented as <a  href="apis/latest/org/apache/nlpcraft/NCToken.html">NCToken</a>
-                    is simple string, part of user input, which split according to some rules,
-                    for instance by spaces and some additional conditions, which depends on language and some expectations.
+                    is simple string, part of user input, which split according to some rules
+                    for instance by spaces and some additional conditions which depend on language and some expectations.
                     So user input "<b>Where is it?</b>" contains four tokens:
                     "<code>Where</code>", "<code>is</code>", "<code>it</code>", "<code>?</code>".
                     Usually <code>tokens</code> are words and punctuation symbols which can also contain some additional
@@ -114,8 +114,8 @@
             <tr>
                 <td><code>Intent</code></td>
                 <td>
-                    <code>Intent</code> is user defined callback and rule, according to which this callback should be called.
-                    Rule is most often some template, based on expected set of <code>entities</code> in user input,
+                    <code>Intent</code> is user defined callback and rule according to which this callback should be called.
+                    Rule is most often some template based on expected set of <code>entities</code> in user input,
                     but it can be more flexible.
                     Parameters extracted from user text input are passed into callback methods.
                     These methods execution results are provided to user as answer on his request.
@@ -189,7 +189,8 @@
 
                 <ul>
                     <li>
-                        <code>Line 1</code> defines intent <code>call</code> with two conditions.
+                        <code>Line 1</code> defines intent <code>call</code> with two conditions
+                        which expects two named entities in user input text.
                     </li>
                     <li>
                         <code>Line 2</code> defines related callback method <code>onCommand()</code>.
@@ -216,8 +217,8 @@
         <h2 class="section-title">Client responsibility<a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
 
         <p>
-            Client which is represented as <a href="apis/latest/org/apache/nlpcraft/NCModelClient.html">NCModelClient</a>
-            is necessary for communication with the model. Base client methods  are described below.
+            <code>Client</code>  represented as <a href="apis/latest/org/apache/nlpcraft/NCModelClient.html">NCModelClient</a>
+            is necessary for communication with the <code>Data Model</code>. Base client methods  are described below.
         </p>
 
         <table class="gradient-table">
@@ -244,7 +245,7 @@
                     Passes user text input to the model and receives back callback and its parameters or
                     rejection exception if there isn't any triggered intents.
                     Main difference from <code>ask</code> that triggered intent callback method is not called.
-                    This method and this parameter can be useful for tests scenarios.
+                    This method and this parameter can be useful in tests scenarios.
                 </td>
             </tr>
             <tr>
@@ -252,7 +253,7 @@
                 <td>
                     Clears STM state. Memory is cleared wholly or with some predicate.
                     Loot at <a href="short-term-memory.html">Conversation</a> chapter to get more details.
-                    Second variant odf given method with another parameters is here: <a href="apis/latest/org/apache/nlpcraft/NCModelClient.html#clearStm-1d8">clearStm()</a>.
+                    Second variant of given method with another parameters is here - <a href="apis/latest/org/apache/nlpcraft/NCModelClient.html#clearStm-1d8">clearStm()</a>.
                 </td>
             </tr>
             <tr>
@@ -260,7 +261,7 @@
                 <td>
                     Clears dialog state. Dialog is cleared wholly or with some predicate.
                     Loot at <a href="short-term-memory.html">Conversation</a> chapter to get more details.
-                    Second variant odf given method with another parameters is here: <a href="apis/latest/org/apache/nlpcraft/NCModelClient.html#clearDialog-1d8">clearDialog()</a>.
+                    Second variant of given method with another parameters is here - <a href="apis/latest/org/apache/nlpcraft/NCModelClient.html#clearDialog-1d8">clearDialog()</a>.
                 </td>
             </tr>
             <tr>
@@ -277,8 +278,9 @@
         <h2 class="section-title">Model configuration <a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
 
         <p>
-            Data Model configuration <a href="apis/latest/org/apache/nlpcraft/NCModelConfig.html">NCModelConfig</a> represents set of model parameter values.
-            Its properties are described below.
+            <code>Data Model</code> configuration represented as
+            <a href="apis/latest/org/apache/nlpcraft/NCModelConfig.html">NCModelConfig</a>
+            contains set of parameters which are described below.
         </p>
         <table class="gradient-table">
             <thead>
@@ -306,7 +308,7 @@
                     Timeout of the user's conversation.
                     If user doesn't communicate with the model this time period STM is going to be cleared.
                     Loot at <a href="short-term-memory.html">Conversation</a> chapter to get more details.
-                    Mandatory parameter with default value.
+                    It is the mandatory parameter with default value.
                 </td>
             </tr>
             <tr>
@@ -314,7 +316,7 @@
                 <td>
                     Maximum supported depth the user's conversation.
                     Loot at <a href="short-term-memory.html">Conversation</a> chapter to get more details.
-                    Mandatory parameter with default value.
+                    It is the mandatory parameter with default value.
                 </td>
             </tr>
             </tbody>
@@ -342,9 +344,9 @@
                 <td><a href="apis/latest/org/apache/nlpcraft/NCTokenParser.html">NCTokenParser</a></td>
                 <td>Mandatory single</td>
                 <td>
-                    <code>Token parser</code> should parse user input plain text and split this text
+                    <code>Token parser</code> should be able to parse user input plain text and split this text
                     into <code>tokens</code> list.
-                    NLPCraft provides default English language implementation of token parser.
+                    NLPCraft provides two default English language implementations of token parser.
                     Also, project contains examples for <a href="examples/light_switch_fr.html">French</a> and
                     <a href="examples/light_switch_ru.html">Russia</a> languages token parser implementations.
                 </td>
@@ -353,9 +355,9 @@
                 <td> <a href="apis/latest/org/apache/nlpcraft/NCTokenEnricher.html">NCTokenEnricher</a></td>
                 <td>Optional list</td>
                 <td>
-                    <code>Tokens enricher</code> is a component which allow to add additional properties to prepared tokens,
+                    <code>Tokens enricher</code> is a component which allow to add additional properties for prepared tokens,
                     like part of speech, quote, stop-words flags or any other.
-                    NLPCraft provides English language default set of token enrichers implementations.
+                    NLPCraft provides built-in English language set of token enrichers implementations.
                 </td>
             </tr>
             <tr>
@@ -372,8 +374,9 @@
                 <td>
                     <code>Entity parser</code> is a component which allow to find user defined named entities
                     based on prepared tokens as input.
-                    NLPCraft provides wrappers for named-entity recognition components of <a href="https://opennlp.apache.org/">Apache OpenNLP</a> and
-                    <a href="https://nlp.stanford.edu/">Stanford NLP</a>.
+                    NLPCraft provides wrappers for named-entity recognition components of
+                    <a href="https://opennlp.apache.org/">Apache OpenNLP</a> and
+                    <a href="https://nlp.stanford.edu/">Stanford NLP</a> and its own implementations.
                     Note that at least one entity parser must be defined.
                 </td>
             </tr>
@@ -381,7 +384,7 @@
                 <td> <a href="apis/latest/org/apache/nlpcraft/NCEntityEnricher.html">NCEntityEnricher</a></td>
                 <td>Optional list</td>
                 <td>
-                    <code>Entity enricher</code> is component which allows to add additional properties to prepared entities.
+                    <code>Entity enricher</code> is component which allows to add additional properties for prepared entities.
                     Can be useful for extending existing entity enrichers functionality.
                 </td>
             </tr>
@@ -389,7 +392,7 @@
                 <td> <a href="apis/latest/org/apache/nlpcraft/NCEntityMapper.html">NCEntityMapper</a></td>
                 <td>Optional list</td>
                 <td>
-                    <code>Entity mappers</code> is component which allows to map one set of entities into another after the entities
+                    <code>Entity mappers</code> is component which allows to map one set of entities to another after the entities
                     were parsed and enriched. Can be useful for building complex parsers based on existing.
                 </td>
             </tr>
diff --git a/built-in-builder.html b/built-in-builder.html
index cc9ba8a..c2d2f04 100644
--- a/built-in-builder.html
+++ b/built-in-builder.html
@@ -28,11 +28,12 @@
         <p>
             <a href="apis/latest/org/apache/nlpcraft/NCPipelineBuilder.html">NCPipelineBuilder</a> class
             is designed for simplifying preparing <a href="apis/latest/org/apache/nlpcraft/NCPipeline.html">NCPipeline</a> instance.
-            It contains a number of methods <a href="apis/latest/org/apache/nlpcraft/NCPipelineBuilder.html#withSemantic-fffff4b0">withSemantic()</a>
+            It allows to construct <a href="apis/latest/org/apache/nlpcraft/NCPipeline.html">NCPipeline</a> instance
+            adding nested components via its methods.
+            It also contains a number of methods <a href="apis/latest/org/apache/nlpcraft/NCPipelineBuilder.html#withSemantic-fffff4b0">withSemantic()</a>
             which allow to prepare pipeline instance based on
             <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser">NCSemanticEntityParser</a> and configured language.
-            Currently only English language is supported.
-            It also adds following English built-in components into pipeline:
+            Currently only <b>English</b> language is supported with broad set of built-in components:
             <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCOpenNLPTokenParser.html">NCOpenNLPTokenParser</a>,
             <a href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCOpenNLPLemmaPosTokenEnricher.html">NCOpenNLPLemmaPosTokenEnricher</a>,
             <a href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnStopWordsTokenEnricher.html">NCEnStopWordsTokenEnricher</a>,
@@ -53,14 +54,14 @@
         </pre>
         <ul>
             <li>
-                It defines pipeline with all default English language components and one semantic entity parser with
+                It defines pipeline with all built-in English language components and one semantic entity parser with
                 model defined in <code>lightswitch_model.yaml</code>.
             </li>
         </ul>
 
-        <p><b>Example with pipeline configured by built-in components:</b></p>
+        <p><b>Pipeline creation example constructed from built-in components:</b></p>
 
-        <pre class="brush: scala, highlight: [2, 6, 7, 12, 13, 14, 15]">
+        <pre class="brush: scala, highlight: [2, 6, 7, 12, 13, 14, 15, 16]">
             val pipeline =
                 val stanford =
                     val props = new Properties()
@@ -74,36 +75,38 @@
                 new NCPipelineBuilder().
                     withTokenParser(tokParser).
                     withTokenEnricher(new NCEnStopWordsTokenEnricher()).
+                    withEntityParser(NCSemanticEntityParser(stemmer, tokParser, "pizzeria_model.yaml")).
                     withEntityParser(new NCStanfordNLPEntityParser(stanford, Set("number"))).
                     build
         </pre>
         <ul>
             <li>
-                <code>Line 2</code> defines configured <code>StanfordCoreNLP</code> class instance.
+                <code>Line 2</code> defines configured <a href="StanfordCoreNLP">StanfordCoreNLP</a> class instance.
                 Look at <a href="https://nlp.stanford.edu/">Stanford NLP</a> documentation for more details.
             </li>
             <li>
-                <code>Line 6</code> defines token parser <code>NCStanfordNLPTokenParser</code>, pipeline mandatory component.
+                <code>Line 6</code> defines token parser <a href="NCStanfordNLPTokenParser">NCStanfordNLPTokenParser</a>, pipeline mandatory component.
                 Note that this one instance is used for two places: in pipeline definition on <code>line 12</code> and
-                in <code>NCSemanticEntityParser</code> definition on <code>line 15</code>.
+                in <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser.html">NCSemanticEntityParser</a> definition on <code>line 14</code>.
+            </li>
+
+            <li>
+                <code>Line 13</code> defines configured
+                <a href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnStopWordsTokenEnricher.html">NCEnStopWordsTokenEnricher </a>
+                token enricher.
             </li>
             <li>
-                <code>Line 7</code> defines simple implementation of semantic stemmer which is necessary part
-                of <code>NCSemanticEntityParser</code>.
+                <code>Line 14</code> defines <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser.html">NCSemanticEntityParser</a>
+                configured in YAML file <code>pizzeria_model.yaml</code>.
+                It uses also simple implementation of <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticStemmer.html">NCSemanticStemmer</a>
+                created on <code>line 7</code> and token parser prepared on <code>line 6</code>.
             </li>
             <li>
-                <code>Line 13</code> defines configured <code>NCEnStopWordsTokenEnricher</code> token enricher.
-            </li>
-            <li>
-                <code>Line 14</code> defines <code>NCStanfordNLPEntityParser</code> entity parser based on Stanford NER
+                <code>Line 15</code> defines <a href="NCStanfordNLPEntityParser">NCStanfordNLPEntityParser</a> based on Stanford NER
                 configured for number values detection.
             </li>
             <li>
-                <code>Line 14</code> defines <code>NCStanfordNLPEntityParser</code> entity parser based on Stanford NER
-                configured for number values detection.
-            </li>
-            <li>
-                <code>Line 15</code> defines pipeline building.
+                <code>Line 16</code> defines pipeline building.
             </li>
         </ul>
 
@@ -125,7 +128,7 @@
                 You can get fore information at examples description chapters:
                 <a href="examples/light_switch_fr.html">Light Switch FR</a> and
                 <a href="examples/light_switch_ru.html">Light Switch RU</a>.
-                Note that these custom components are mostly wrappers on existing solutions and
+                Note that these custom components are mostly wrappers on existing open source on NLPCraft built-in solutions and
                 should be prepared just once when you start work with new language.
             </li>
         </ul>
diff --git a/built-in-entity-parser.html b/built-in-entity-parser.html
index 0ab5dee..1cd3868 100644
--- a/built-in-entity-parser.html
+++ b/built-in-entity-parser.html
@@ -27,19 +27,22 @@
 
         <p>
             <a href="apis/latest/org/apache/nlpcraft/NCEntityParser.html">NCEntityParser</a>
-            is a component which allow to find user defined named entities
+            is a component which allows to find user defined named entities
             based on prepared tokens as input.
         </p>
 
         <p>
-            There are proved:
+            There are provided following built-in parsers:
         </p>
 
         <ul>
             <li>
-                Wrappers for <a href="https://opennlp.apache.org/">Apache OpenNLP</a> and
-                <a href="https://nlp.stanford.edu/">Stanford NLP</a> NER components.
-                Their models support English and some another languages for their NER recognition.
+                Wrapper for <a href="https://opennlp.apache.org/">Apache OpenNLP</a> named entities finder which
+                prepared models support English and some other languages.
+            </li>
+            <li>
+                Wrapper for <a href="https://nlp.stanford.edu/">Stanford NLP</a> named entities finder which
+                prepared models support English and some other languages.
             </li>
             <li>
                 NLP data wrapper implementation. It is not depends on language.
@@ -55,10 +58,10 @@
 
         <p>
             <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCOpenNLPTokenParser.html">NCOpenNLPTokenParser</a> is wrapper on <a href="https://opennlp.apache.org/">Apache OpenNLP</a> NER components.
-            Look at the supported <b>Name Finder</b> models <a href="https://opennlp.sourceforge.net/models-1.5/">here</a>.
+            Look at the supported NER finders models <a href="https://opennlp.sourceforge.net/models-1.5/">here</a>.
             For example for English language are accessible: <code>Location</code>, <code>Money</code>,
             <code>Person</code>, <code>Organization</code>, <code>Date</code>, <code>Time</code> and <code>Percentage</code>.
-            There are also accessible dome models for another languages.
+            There are also accessible models for other languages.
         </p>
     </section>
 
@@ -67,10 +70,11 @@
 
         <p>
             <code>NCStanfordNLPEntityParser</code> is wrapper on <a href="https://nlp.stanford.edu/">Stanford NLP</a> NER components.
+            Look at the supported NER finders models <a href="https://nlp.stanford.edu/software/CRF-NER.shtml">here</a>.
             For example for English language are accessible: <code>Location</code>, <code>Money</code>,
             <code>Person</code>, <code>Organization</code>, <code>Date</code>, <code>Time</code> and <code>Percent</code>.
-            There are also accessible dome models for another languages.
-            Look at the detailed information <a href="https://nlp.stanford.edu/software/CRF-NER.shtml">here</a>.
+            There are also accessible models for other languages.
+
         </p>
     </section>
 
@@ -80,9 +84,11 @@
         <p>
             <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCOpenNLPTokenParser.html">NCOpenNLPTokenParser</a> converts NLP tokens into entities with four mandatory properties:
             <code>nlp:token:text</code>, <code>nlp:token:index</code>, <code>nlp:token:startCharIndex</code> and
-            <code>nlp:token:endCharIndex</code>. However, if any other properties were added into
-            processed tokens by <a href="apis/latest/org/apache/nlpcraft/NCTokenEnricher.html">NCTokenEnricher</a> components, they will be copied also with names
-            prefixed with <code>nlp:token:</code>.
+            <code>nlp:token:endCharIndex</code>.
+            However, if any other <a href="apis/latest/org/apache/nlpcraft/NCTokenEnricher.html">NCTokenEnricher</a> components
+            are registered in the <a href="apis/latest/org/apache/nlpcraft/NCPipeline.html">NCPipeline</a>
+            and they add other properties into the tokens,
+            these properties also will be copied with names prefixed with <code>nlp:token:</code>.
             It is language independent component.
             Note that converted tokens set can be restricted by predicate.
         </p>
@@ -94,8 +100,7 @@
         <p>
             Semantic entity parser
             <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser.html">NCSemanticEntityParser</a>
-            is the implementation of <a href="apis/latest/org/apache/nlpcraft/NCEntityParser.html">NCEntityParser</a>,
-            which in turn is component of the model pipeline <a href="apis/latest/org/apache/nlpcraft/NCPipeline.html">NCPipeline</a>.
+            is synonyms based  implementation of <a href="apis/latest/org/apache/nlpcraft/NCEntityParser.html">NCEntityParser</a>.
             This parser provides simple but very powerful way to find domain specific data in the input text.
             It defines list of <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticElement.html">NCSemanticElement</a>
             which are represent <a href="https://en.wikipedia.org/wiki/Named-entity_recognition">Named entities</a>.
@@ -630,13 +635,14 @@
             </pre>
             <ul>
                 <li>
-                    <code>Line 5</code> shows <code>macro</code> parameter usage.
+                    <code>Line 5</code> shows <code>macro</code> parameter definition.
                 </li>
                 <li>
                     <code>Line 10</code> shows <code>macro</code> list of <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticElement.html">NCSemanticElement</a> parameter usage.
                 </li>
                 <li>
-                    Note that usage <code>withSemantic()</code> method which represented on <code>line 3</code> i optional.
+                    Note that usage <a href="apis/latest/org/apache/nlpcraft/NCPipelineBuilder.html#withSemantic-fffff4b0">withSemantic()</a>
+                    method which represented on <code>line 3</code> is optional.
                     You can add <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCNLPEntityParser.html">NCNLPEntityParser</a>
                     as usual <a href="apis/latest/org/apache/nlpcraft/NCEntityParser.html">NCEntityParser</a>
                     when you define your <a href="apis/latest/org/apache/nlpcraft/NCPipeline.html">NCPipeline</a>.
@@ -644,7 +650,7 @@
             </ul>
 
             <p>
-                The following examples is based on YAML semantic elements representation.
+                The following example is based on YAML semantic elements representation.
             </p>
 
             <pre class="brush: js, highlight: []">
@@ -673,7 +679,7 @@
             </pre>
             <ul>
                 <li>
-                    <code>Line 3</code> makes semantic model which defined in <code>time_model.yaml</code> YAML file.
+                    <code>Line 3</code> makes semantic model which elements are defined in <code>time_model.yaml</code> YAML file.
                 </li>
             </ul>
 
@@ -723,11 +729,12 @@
             <h3 class="sub-section-title">Languages Extending</h3>
 
             <p>
-                If you want to use <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser.html">NCSemanticEntityParser</a>
-                with not English language, you have to provide custom
+                If you want to use
+                <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser.html">NCSemanticEntityParser</a>
+                with any not English language you have to provide custom
                 <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticStemmer.html">NCSemanticStemmer</a> and
                 <a href="apis/latest/org/apache/nlpcraft/NCTokenParser.html">NCTokenParser</a>
-                implementations for required language.
+                implementations for this desirable language.
                 Look at the <a href="examples/light_switch_fr.html">Light Switch FR</a> for more details.
             </p>
         </section>
@@ -746,8 +753,4 @@
         <li><a href="#parser-semantic-extending">SemanticParser Languages Extending</a></li>
         {% include quick-links.html %}
     </ul>
-</div>
-
-
-
-
+</div>
\ No newline at end of file
diff --git a/built-in-overview.html b/built-in-overview.html
index 4309382..f65663e 100644
--- a/built-in-overview.html
+++ b/built-in-overview.html
@@ -34,13 +34,13 @@
         <p>There are two kinds of pipeline components:</p>
         <ul>
             <li>
-                Following pipeline components have built-in implementations and described in related sections:
+                Pipeline components which have built-in implementations and can have broad range of uses:
                 <a href="apis/latest/org/apache/nlpcraft/NCTokenParser.html">NCTokenParser</a>,
                 <a href="apis/latest/org/apache/nlpcraft/NCTokenEnricher.html">NCTokenEnricher</a>,
                 <a href="apis/latest/org/apache/nlpcraft/NCEntityParser.html">NCEntityParser</a>.
             </li>
             <li>
-                Following pipeline components cannot have build implementation because their logic are depended on concrete user model:
+                Pipeline components which can't have built-in implementations because their logic are depended on concrete user model:
                 <a href="apis/latest/org/apache/nlpcraft/NCTokenValidator.html">NCTokenValidator</a>,
                 <a href="apis/latest/org/apache/nlpcraft/NCEntityEnricher.html">NCEntityEnricher</a>,
                 <a href="apis/latest/org/apache/nlpcraft/NCEntityValidator.html">NCEntityValidator</a>,
@@ -52,7 +52,7 @@
         <div class="bq info">
             <p><b>Built-in component licenses.</b></p>
             <p>
-                All built-in components which are based on <a href="https://nlp.stanford.edu/">Stanford NLP</a> models and classes
+                All built-in components which are based on <a href="https://nlp.stanford.edu/">Stanford NLP</a> models classes
                 are provided with <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License</a>.
                 Look at Stanford NLP <a href="https://nlp.stanford.edu/software/">Software</a> page.
                 All such components are placed in special project module <code>nlpcraft-stanford</code>.
diff --git a/built-in-token-enricher.html b/built-in-token-enricher.html
index ddb6929..b0ea4ed 100644
--- a/built-in-token-enricher.html
+++ b/built-in-token-enricher.html
@@ -39,8 +39,9 @@
         <p>
             <a href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCOpenNLPLemmaPosTokenEnricher.html">NCOpenNLPLemmaPosTokenEnricher</a> -
             this component allows to add <code>lemma</code> and <code>pos</code> values to processed token.
-            Look at these links fpr more details: <a href="https://www.wikiwand.com/en/Lemma_(morphology)">Lemma</a> and
-            <a href="https://www.wikiwand.com/en/Part-of-speech_tagging">Part of speech</a>.
+            Look at these links fpr more details:
+            <a href="https://en.wikipedia.org/wiki/Lemma_(morphology)">Lemma</a> and
+            <a href="https://en.wikipedia.org/wiki/Part-of-speech_tagging">Part of speech</a>.
             Current implementation is based on <a href="https://opennlp.apache.org/">Apache OpenNLP</a> project components.
             Is uses Apache OpenNLP models, which are accessible
             <a href="http://opennlp.sourceforge.net/models-1.5/">here</a> for POS taggers.
@@ -71,9 +72,10 @@
         <p>
             <a href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnDictionaryTokenEnricher.html">NCEnDictionaryTokenEnricher</a> -
             this component allows to add <code>dict</code> boolean flag to processed token.
-            Note that it requires already defined <code>lemma</code> token property,
+            Note that it requires already defined <code>lemma</code> token property.
             You can use <a href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCOpenNLPLemmaPosTokenEnricher.html">NCOpenNLPLemmaPosTokenEnricher</a> or any another component which sets
-            <code>lemma</code> into the token.
+            <code>lemma</code> into the token. Note that you have to define it in model pipilene token enricher list before
+            <a href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnDictionaryTokenEnricher.html">NCEnDictionaryTokenEnricher</a>.
         </p>
     </section>
     <section id="enricher-opennlp-stopword">
@@ -83,9 +85,10 @@
             <a href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnStopWordsTokenEnricher.html">NCEnStopWordsTokenEnricher</a> -
             this component allows to add <code>stopword</code> boolean flag to processed token.
             It is based on predefined rules for English language, but it can be also extended by custom user word list and excluded list.
-            Note that it requires already defined <code>lemma</code> token property,
+            Note that it requires already defined <code>lemma</code> token property.
             You can use <a href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCOpenNLPLemmaPosTokenEnricher.html">NCOpenNLPLemmaPosTokenEnricher</a> or any another component which sets
-            <code>lemma</code> into the token.
+            <code>lemma</code> into the toke. Note that you have to define it in model pipilene token enricher list before
+            <a href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnStopWordsTokenEnricher.html">NCEnStopWordsTokenEnricher</a>.
         </p>
     </section>
     <section id="enricher-opennlp-swearword">
diff --git a/built-in-token-parser.html b/built-in-token-parser.html
index a961125..267a914 100644
--- a/built-in-token-parser.html
+++ b/built-in-token-parser.html
@@ -30,7 +30,7 @@
             component implementation should parse user input plain text and split this text
             into <code>tokens</code> list.
 
-            NLPCraft provides default English language implementation of token parser.
+            NLPCraft provides two English language token parser implementations.
 
             Also, project contains examples for <a href="examples/light_switch_fr.html">French</a> and
             <a href="examples/light_switch_ru.html">Russia</a> languages token parser implementations.
@@ -43,7 +43,7 @@
         <p>
             There is <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCOpenNLPTokenParser.html">NCOpenNLPTokenParser</a> implementation.
 
-            It is token parser implementation which is wrapper on
+            This implementation is wrapper on
             <a href="https://opennlp.apache.org/">Apache OpenNLP</a> project tokenizer.
             </p>
     </section>
@@ -53,7 +53,7 @@
         <p>
             There is <a href="NCStanfordNLPTokenParser.html">NCStanfordNLPTokenParser</a> implementation.
 
-            It is token parser implementation which is wrapper on
+            This implementation is wrapper on
             <a href="https://nlp.stanford.edu/">Stanford NLP</a> project tokenizer.
         </p>
     </section>
@@ -61,10 +61,9 @@
         <h2 class="section-title">Remarks<a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
 
         <p>
-            There are two built-in token parsers added for one English language because they have some difference
-            in their algorithm and can provide different list of tokens for same user text input.
+            There are two different English language implementations are provided because they have some difference
+            in their algorithms and can provide different list of tokens for same user text input.
             Some built-in components are required token parser instance as their parameter.
-
         </p>
         <ul>
             <li>
diff --git a/custom-components.html b/custom-components.html
index fb6d403..7dec715 100644
--- a/custom-components.html
+++ b/custom-components.html
@@ -41,7 +41,7 @@
             It's not often situation when you need to prepare your own language tokenizer.
             Mostly it can be necessary if you want to work with some new language.
             You have to prepare new implementation once and can use it for all projects on this language.
-            Usually you just should find open source solution and wrap it for
+            Usually you just should find open source solution and wrap it for.
             You have to implement <a href="apis/latest/org/apache/nlpcraft/NCTokenParser.html">NCTokenParser</a> trait.
         </p>
         <pre class="brush: scala, highlight: [2, 6]">
@@ -73,7 +73,8 @@
         </pre>
         <ul>
             <li>
-                <code>NCFrTokenParser</code> is a simple wrapper which implements <code>NCTokenParser</code> based on
+                <code>NCFrTokenParser</code> is a simple wrapper which implements
+                <a href="apis/latest/org/apache/nlpcraft/NCTokenParser.html">NCTokenParser</a> methods based on
                 open source <a href="https://languagetool.org">Language Tool</a> library.
             </li>
         </ul>
@@ -86,7 +87,7 @@
         </p>
         <p>
             Tokens enricher is component which allows to add additional properties to prepared tokens.
-            These tokens properties are used later when entities detection.
+            On next pipeline processing steps you can define entities detection conditions based on these tokens properties.
         </p>
         <pre class="brush: scala, highlight: [25, 26]">
             import org.apache.nlpcraft.*
@@ -128,13 +129,13 @@
     </section>
 
     <section id="token-validator">
-        <h2 class="section-title">Token validator <a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
+        <h2 class="section-title">Token validator<a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             You have to implement <a href="apis/latest/org/apache/nlpcraft/NCTokenValidator.html">NCTokenValidator</a> trait.
         </p>
 
         <p>
-            There are tokens are inspected and exception can be thrown from user code to break user input processing.
+            This component is designed for tokens inspection, an exception can be thrown from user code to break user input processing.
         </p>
 
         <pre class="brush: scala, highlight: [3]">
@@ -164,9 +165,8 @@
         <p>
             Most important component which finds user specific data.
             These defined entities are input for <a href="intent-matching.html">Intent matching</a> conditions.
-            If built-in <a href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser.html">NCSemanticEntityParser</a>
-            is not enough, you can implement your own NER searching here.
-            There is point for potential integrations with neural networks or any other solutions which
+            You can implement your own custom logic for named entities detection here.
+            Also, there is a point for potential integrations with neural networks or any other solutions which
             help you find and mark your domain specific named entities.
         </p>
 
@@ -203,7 +203,7 @@
             Can be useful for extending existing entity enrichers functionality.
         </p>
 
-        <pre class="brush: scala, highlight: [4, 10, 11]">
+        <pre class="brush: scala, highlight: [4, 11, 12]">
             import org.apache.nlpcraft.*
 
             object CityPopulationEntityEnricher:
@@ -223,10 +223,10 @@
                 <code>Line 4</code> defines getting cities population data from some external service.
             </li>
             <li>
-                <code>Line 10</code> filters entities by <code>ID</code>.
+                <code>Line 11</code> filters entities by <code>ID</code>.
             </li>
             <li>
-                <code>Line 11</code> enriches entities by new <code>city:population</code> property.
+                <code>Line 12</code> enriches entities by new <code>city:population</code> property.
             </li>
         </ul>
     </section>
@@ -238,7 +238,7 @@
         </p>
 
         <p>
-            Entity mapper is component which allows to map one set of entities into another after the entities
+            Entity mapper is component which allows to map one set of entities to another after the entities
             were parsed and enriched. Can be useful for building complex parsers based on existing.
         </p>
 
@@ -285,8 +285,7 @@
             You have to implement <a href="apis/latest/org/apache/nlpcraft/NCEntityValidator.html">NCEntityValidator</a> trait.
         </p>
         <p>
-            Entities validator is user defined component, where prepared entities are inspected and exceptions
-            can be thrown from user code to break user input processing.
+            This component is designed for entities inspection, an exception can be thrown from user code to break user input processing.
         </p>
 
         <pre class="brush: scala, highlight: [3]">
diff --git a/first-example.html b/first-example.html
index f1ae623..2f2fd84 100644
--- a/first-example.html
+++ b/first-example.html
@@ -39,7 +39,7 @@
             You can create new Scala projects in many ways - we'll use SBT
             to accomplish this task. Make sure that <code>build.sbt</code> file has the following content:
         </p>
-        <pre class="brush: js, highlight: []">
+        <pre class="brush: js, highlight: [7]">
             ThisBuild / version := "0.1.0-SNAPSHOT"
             ThisBuild / scalaVersion := "3.1.3"
             lazy val root = (project in file("."))
@@ -53,9 +53,9 @@
         <p><b>NOTE: </b>use the latest versions of Scala and ScalaTest.</p>
         <p>Create the following files so that resulting project structure would look like the following:</p>
         <ul>
-            <li><code>lightswitch_model.yaml</code> - YAML configuration file, which contains model description.</li>
-            <li><code>LightSwitchModel.scala</code> - Scala class, model implementation.</li>
-            <li><code>LightSwitchModelSpec.scala</code> - Scala tests class, which allows to test your model.</li>
+            <li><code>lightswitch_model.yaml</code> - YAML configuration file which contains model description.</li>
+            <li><code>LightSwitchModel.scala</code> - Model implementation.</li>
+            <li><code>LightSwitchModelSpec.scala</code> - Test that allows to test your model.</li>
         </ul>
         <pre class="brush: plain, highlight: [7, 10, 14]">
             |  build.sbt
@@ -78,7 +78,7 @@
         <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>NCModelAdapter</code> in our Scala-based model implementation.
+            <a href="../apis/latest/org/apache/nlpcraft/NCModelAdapter.html">NCModelAdapter</a> in our Scala-based model implementation.
             Open <code>src/main/resources/<b>light_switch.yaml</b></code>
             file and replace its content with the following YAML:
         </p>
@@ -177,18 +177,18 @@
         </p>
         <ul>
             <li>
-                On <code>line 5</code> our class extends <code>NCModelAdapter</code> that allows us to pass
+                On <code>line 6</code> our class extends <a href="../apis/latest/org/apache/nlpcraft/NCModelAdapter.html">NCModelAdapter</a> that allows us to pass
                 prepared configuration and pipeline into model.
             </li>
             <li>
-                On <code>line 6</code> created model configuration with most default parameters.
+                <code>Line 7</code> creates model configuration with most default parameters.
             </li>
             <li>
-                On <code>line 7</code> created pipeline, based on semantic model definition,
+                <code>Line 8</code> creates pipeline, based on semantic model definition,
                 described in <code>lightswitch_model.yaml</code> file.
             </li>
             <li>
-                <code>Lines 10 and 11</code> annotates intents <code>ls</code> and its callback method <code>onMatch()</code>.
+                <code>Lines 10 and 11</code> annotate intents <code>ls</code> and its callback method <code>onMatch()</code>.
                 Intent <code>ls</code> requires one action (a token belonging to the group <code>act</code>) and optional list of light locations
                 (zero or more tokens with ID <code>ls:loc</code>) - by default we assume the entire house as a default location.
             </li>
@@ -264,7 +264,7 @@
             </li>
             <li>
                 <code>Line 11</code> calls a special method
-                <a href="apis/latest/org/apache/nlpcraft/NCModelClient.html#debugAsk-fffff96c">debugAsk()</a>.
+                <a href="../apis/latest/org/apache/nlpcraft/NCModelClient.html#debugAsk-fffff96c">debugAsk()</a>.
                 It allows to check the winning intent and its callback parameters without actually
                 calling the intent.
             </li>