diff --git a/alib2common/src/object/ObjectBase.h b/alib2common/src/object/ObjectBase.h
index 7502ab04ef1a3aaae8ca1f05b08f00e2676ede66..c13755b15d7baedeacd5c81f5fa3c820d0b41677 100644
--- a/alib2common/src/object/ObjectBase.h
+++ b/alib2common/src/object/ObjectBase.h
@@ -19,12 +19,12 @@ namespace object {
 class ObjectBase : public base::CommonBase<ObjectBase>, public ext::cow_shared_ptr_base {
 public:
 	/**
-	 * @copydoc base::CommonBase<ObjectBase>::clone()
+	 * @copydoc base::CommonBase < ObjectBase >::clone ( ) const &
 	 */
 	virtual ObjectBase * clone ( ) const & override = 0;
 
 	/**
-	 * @copydoc base::CommonBase<ObjectBase>::clone()
+	 * @copydoc base::CommonBase < ObjectBase >::clone ( ) &&
 	 */
 	virtual ObjectBase * clone() && override = 0;
 
diff --git a/alib2data/src/grammar/GrammarBase.h b/alib2data/src/grammar/GrammarBase.h
index ff3ced30b9213f7e0a3382f865b862597eb70237..f61a937ff4df386dd226e5ea3673f05ae07f0642 100644
--- a/alib2data/src/grammar/GrammarBase.h
+++ b/alib2data/src/grammar/GrammarBase.h
@@ -20,14 +20,14 @@ namespace grammar {
 class GrammarBase : public object::ObjectBase {
 public:
 	/**
-	 * @copydoc object::ObjectBase::clone()
+	 * @copydoc object::ObjectBase::clone ( ) const &
 	 */
-	virtual GrammarBase* clone ( ) const & override = 0;
+	virtual GrammarBase * clone ( ) const & override = 0;
 
 	/**
-	 * @copydoc object::ObjectBase::clone()
+	 * @copydoc object::ObjectBase::clone ( ) &&
 	 */
-	virtual GrammarBase* clone() && override = 0;
+	virtual GrammarBase * clone ( ) && override = 0;
 };
 
 } /* namespace grammar */
diff --git a/alib2data/src/regexp/formal/FormalRegExp.h b/alib2data/src/regexp/formal/FormalRegExp.h
index 29e94935eb115fe3edc3dac328c92ac33295aa3a..2d0069265b300ce94669b2364855341ab1d77fbf 100644
--- a/alib2data/src/regexp/formal/FormalRegExp.h
+++ b/alib2data/src/regexp/formal/FormalRegExp.h
@@ -50,7 +50,7 @@ class GeneralAlphabet;
  * \brief
  * Formal regular expression represents regular expression. It describes regular languages. The expression consists of the following nodes:
  *   - Alternation - the representation of + in the regular expression
- *   - Concatenation - the representation of . in the regular expression
+ *   - Concatenation - the representation of &sdot; in the regular expression
  *   - Iteration - the representation of * (Kleene star)
  *   - Epsilon - the representation of empty word
  *   - Empty - the representation of empty regular expression
@@ -97,7 +97,7 @@ public:
 	explicit FormalRegExp ( FormalRegExpStructure < SymbolType > regExp );
 
 	/**
-	 * \brief Created a new instance of the expression based on the FormalRegExp representation.
+	 * \brief Created a new instance of the expression based on the UnboundedRegExp representation.
 	 */
 	explicit FormalRegExp ( const UnboundedRegExp < SymbolType > & other );
 
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExp.h b/alib2data/src/regexp/unbounded/UnboundedRegExp.h
index 786455f20563fbf9c3ed01ca86c27bf067aa949d..f0f1519149623f6a1775aa54dff54ffc9e83dc6c 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExp.h
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExp.h
@@ -50,7 +50,7 @@ class GeneralAlphabet;
  * \brief
  * Unbounded regular expression represents regular expression. It describes regular languages. The expression consists of the following nodes:
  *   - Alternation - the representation of + in the regular expression
- *   - Concatenation - the representation of . in the regular expression
+ *   - Concatenation - the representation of &sdot; in the regular expression
  *   - Iteration - the representation of * (Kleene star)
  *   - Epsilon - the representation of empty word
  *   - Empty - the representation of empty regular expression
diff --git a/alib2data/src/rte/RTEBase.h b/alib2data/src/rte/RTEBase.h
index 7e40040de94716c5cdaa6856888e895eb993d87e..1fcafe974b21adb7bf9d61e89f473f8e3122fe4c 100644
--- a/alib2data/src/rte/RTEBase.h
+++ b/alib2data/src/rte/RTEBase.h
@@ -14,7 +14,14 @@ namespace rte {
 
 class RTEBase : public object::ObjectBase {
 public:
+	/**
+	 * @copydoc object::ObjectBase::clone ( ) const &
+	 */
 	virtual RTEBase * clone ( ) const & = 0;
+
+	/**
+	 * @copydoc object::ObjectBase::clone ( ) &&
+	 */
 	virtual RTEBase * clone ( ) &&  = 0;
 };
 
diff --git a/alib2data/src/rte/formal/FormalRTE.h b/alib2data/src/rte/formal/FormalRTE.h
index b2f22dbe2526e4519a9ca4b9b9d189f72810f69b..603c11bff826086ca824b78d1087101b494f18ab 100644
--- a/alib2data/src/rte/formal/FormalRTE.h
+++ b/alib2data/src/rte/formal/FormalRTE.h
@@ -50,8 +50,8 @@ class ConstantAlphabet;
  * \brief
  * Formal regular tree expression represents regular tree expression. It describes regular tree languages. The expression consists of the following nodes:
  *   - Alternation - the representation of + in the regular tree expression
- *   - Substitution - the representation of \dot \square in the regular tree expression
- *   - Iteration - the representation of *,\square in the regular tree expression
+ *   - Substitution - the representation of &sdot; â–ˇ in the regular tree expression
+ *   - Iteration - the representation of *, â–ˇ in the regular tree expression
  *   - Empty - the representation of empty regular tree expression
  *   - SymbolAlphabet - the representation of a single symbol from symbol alphabet
  *   - SymbolSubst - the representation of a single symbol from the substitution alphabet
@@ -108,12 +108,12 @@ public:
 	explicit FormalRTE ( FormalRTEStructure < SymbolType, RankType > rte );
 
 	/**
-	 * @copydoc FormalRTEStructure::clone ( ) const &
+	 * @copydoc RTEBase::clone ( ) const &
 	 */
 	virtual RTEBase * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEStructure::clone ( ) const &
+	 * @copydoc RTEBase::clone ( ) &&
 	 */
 	virtual RTEBase * clone ( ) && override;
 
@@ -255,7 +255,7 @@ public:
 	void setRTE ( FormalRTEStructure < SymbolType, RankType > regExp );
 
 	/**
-	 * @copydoc alib::CommonBase<ObjectBase>::compare ( const ObjectBase & )
+	 * @copydoc base::CommonBase < ObjectBase >::compare ( const ObjectBase & ) const
 	 */
 	virtual int compare ( const ObjectBase & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -273,17 +273,17 @@ public:
 	int compare ( const FormalRTE & other ) const;
 
 	/**
-	 * @copydoc alib::CommonBase<ObjectBase>::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < ObjectBase >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase<ObjectBase>::operator std::string ( )
+	 * @copydoc base::CommonBase < ObjectBase >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc alib::GrammarBase::inc()
+	 * @copydoc object::ObjectBase::inc ( ) &&
 	 */
 	virtual object::ObjectBase * inc ( ) && override;
 };
diff --git a/alib2data/src/rte/formal/FormalRTEAlternation.h b/alib2data/src/rte/formal/FormalRTEAlternation.h
index 23d38feced66edd8af99b30d1521ffe62d534e95..95394108daeb8cd90398c39e3923cc1e049ab386 100644
--- a/alib2data/src/rte/formal/FormalRTEAlternation.h
+++ b/alib2data/src/rte/formal/FormalRTEAlternation.h
@@ -75,22 +75,22 @@ public:
 	virtual FormalRTEAlternation < SymbolType, RankType > * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement::clone ( ) &&
 	 */
 	virtual FormalRTEAlternation < SymbolType, RankType > * clone ( ) && override;
 
 	/**
-	 * @copydoc FormalRTEElement::testSymbol() const
+	 * @copydoc FormalRTEElement::testSymbol ( const common::ranked_symbol < SymbolType, RankType > & ) const
 	 */
 	virtual bool testSymbol ( const common::ranked_symbol < SymbolType, RankType > & symbol ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::computeMinimalAlphabet()
+	 * @copydoc FormalRTEElement::computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > &, ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::checkAlphabet()
+	 * @copydoc FormalRTEElement::checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > &, const ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual bool checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
@@ -151,7 +151,7 @@ public:
 	void setRightElement ( const FormalRTEElement < SymbolType, RankType > & element );
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & )
+	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & ) const
 	 */
 	virtual int compare ( const FormalRTEElement < SymbolType, RankType > & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -169,17 +169,17 @@ public:
 	int compare ( const FormalRTEAlternation & ) const;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc regexp::FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
 	 */
 	virtual ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > normalize ( ) && override {
 		return ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > ( new FormalRTEAlternation < DefaultSymbolType, DefaultRankType > ( std::move ( * std::move ( getLeftElement ( ) ).normalize ( ) ), std::move ( * std::move ( getRightElement ( ) ).normalize ( ) ) ) );
diff --git a/alib2data/src/rte/formal/FormalRTEElement.h b/alib2data/src/rte/formal/FormalRTEElement.h
index 76da5668b9a3f886424bdaadad6058d1653899ca..60311830c7c37d6c22415353d6d87a3ec0884e4a 100644
--- a/alib2data/src/rte/formal/FormalRTEElement.h
+++ b/alib2data/src/rte/formal/FormalRTEElement.h
@@ -40,7 +40,7 @@ namespace rte {
  * \tparam RankType used for the rank part of the ranked symbol
  */
 template < class SymbolType, class RankType >
-class FormalRTEElement : public base::CommonBaseMiddle < FormalRTEElement < SymbolType, RankType > >, public ext::BaseNode < FormalRTEElement < SymbolType, RankType > > {
+class FormalRTEElement : public base::CommonBase < FormalRTEElement < SymbolType, RankType > >, public ext::BaseNode < FormalRTEElement < SymbolType, RankType > > {
 protected:
 	/**
 	 * Visitor interface of the element
@@ -121,8 +121,14 @@ protected:
 	virtual void accept ( FormalRTEElement::Visitor & visitor ) const = 0;
 
 public:
+	/**
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType >::clone ( ) const &
+	 */
 	virtual FormalRTEElement < SymbolType, RankType > * clone ( ) const & override = 0;
 
+	/**
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType >::clone ( ) &&
+	 */
 	virtual FormalRTEElement < SymbolType, RankType > * clone ( ) && override = 0;
 
 	/**
@@ -160,7 +166,9 @@ public:
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const = 0;
 
 	/**
-	 * \copydoc RankedNode::computeMinimalAlphabet()
+	 * Traverses the rte tree computing minimal symbol alphabet and substitution alphabet needed by rte
+	 *
+	 * \return the minimal symbol and substitution alphabet needed by the rte
 	 */
 	std::pair < ext::set < common::ranked_symbol < SymbolType, RankType > >, ext::set < common::ranked_symbol < SymbolType, RankType > > > computeMinimalAlphabets ( ) const;
 
diff --git a/alib2data/src/rte/formal/FormalRTEEmpty.h b/alib2data/src/rte/formal/FormalRTEEmpty.h
index 0e227c6088d83ddec9bea16977e5f0e502904c0e..73d54025d90f2a7c8facc87f242d4982d7cf2aa3 100644
--- a/alib2data/src/rte/formal/FormalRTEEmpty.h
+++ b/alib2data/src/rte/formal/FormalRTEEmpty.h
@@ -55,32 +55,32 @@ public:
 	explicit FormalRTEEmpty ( );
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) const &
 	 */
 	virtual FormalRTEEmpty < SymbolType, RankType > * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) &&
 	 */
 	virtual FormalRTEEmpty < SymbolType, RankType > * clone ( ) && override;
 
 	/**
-	 * @copydoc FormalRTEElement::testSymbol() const
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::testSymbol ( const common::ranked_symbol < SymbolType, RankType > & ) const
 	 */
 	virtual bool testSymbol ( const common::ranked_symbol < SymbolType, RankType > & symbol ) const override;
 
 	/**
-	 * @copydoc RTEElement::computeMinimalAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > &, ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::checkAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > &, const ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual bool checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & ) const
 	 */
 	virtual int compare ( const FormalRTEElement < SymbolType, RankType > & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -98,17 +98,17 @@ public:
 	int compare ( const FormalRTEEmpty & ) const;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc regexp::FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
+	 * @copydoc FormalRTEElement::normalize ( ) &&
 	 */
 	virtual ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > normalize ( ) && override {
 		return ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > ( new FormalRTEEmpty < DefaultSymbolType, DefaultRankType > ( ) );
diff --git a/alib2data/src/rte/formal/FormalRTEIteration.h b/alib2data/src/rte/formal/FormalRTEIteration.h
index 17ded8c7e2dc630b85b08b1f12c239bd3b6c8419..75f84d3b4afae0a3ba2d754a31a08dfed6e80ced 100644
--- a/alib2data/src/rte/formal/FormalRTEIteration.h
+++ b/alib2data/src/rte/formal/FormalRTEIteration.h
@@ -76,27 +76,27 @@ public:
 	explicit FormalRTEIteration ( const FormalRTEElement < SymbolType, RankType > & element, FormalRTESymbolSubst < SymbolType, RankType > substitutionSymbol );
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) const &
 	 */
 	virtual FormalRTEIteration < SymbolType, RankType > * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) &&
 	 */
 	virtual FormalRTEIteration < SymbolType, RankType > * clone ( ) && override;
 
 	/**
-	 * @copydoc FormalRTEElement::testSymbol() const
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::testSymbol ( const common::ranked_symbol < SymbolType, RankType > & ) const
 	 */
 	virtual bool testSymbol ( const common::ranked_symbol < SymbolType, RankType > & symbol ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::computeMinimalAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > &, ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::checkAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > &, const ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual bool checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
@@ -150,7 +150,7 @@ public:
 	void setSubstitutionSymbol ( FormalRTESymbolSubst < SymbolType, RankType > element );
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & ) const
 	 */
 	virtual int compare ( const FormalRTEElement < SymbolType, RankType > & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -168,17 +168,17 @@ public:
 	int compare ( const FormalRTEIteration & ) const;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc regexp::FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
 	 */
 	virtual ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > normalize ( ) && override {
 		FormalRTESymbolSubst < DefaultSymbolType, DefaultRankType > subst ( alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( m_substitutionSymbol ).getSymbol ( ) ) );
diff --git a/alib2data/src/rte/formal/FormalRTESubstitution.h b/alib2data/src/rte/formal/FormalRTESubstitution.h
index 7a9dff58bad776e0b4d218cca4e01ab7696442fd..a3bad0195391f4ac6ee2586e5f497f93059af70e 100644
--- a/alib2data/src/rte/formal/FormalRTESubstitution.h
+++ b/alib2data/src/rte/formal/FormalRTESubstitution.h
@@ -77,27 +77,27 @@ public:
 	explicit FormalRTESubstitution ( const FormalRTEElement < SymbolType, RankType > & left, const FormalRTEElement < SymbolType, RankType > & right, FormalRTESymbolSubst < SymbolType, RankType > substitutionSymbol );
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) const &
 	 */
 	virtual FormalRTESubstitution < SymbolType, RankType > * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) &&
 	 */
 	virtual FormalRTESubstitution < SymbolType, RankType > * clone ( ) && override;
 
 	/**
-	 * @copydoc FormalRTEElement::testSymbol() const
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::testSymbol ( const common::ranked_symbol < SymbolType, RankType > & ) const
 	 */
 	virtual bool testSymbol ( const common::ranked_symbol < SymbolType, RankType > & symbol ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::computeMinimalAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > &, ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::checkAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > &, const ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual bool checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
@@ -179,7 +179,7 @@ public:
 	void setSubstitutionSymbol ( FormalRTESymbolSubst < SymbolType, RankType > element );
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & ) const
 	 */
 	virtual int compare ( const FormalRTEElement < SymbolType, RankType > & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -197,17 +197,17 @@ public:
 	int compare ( const FormalRTESubstitution & ) const;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc regexp::FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
 	 */
 	virtual ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > normalize ( ) && override {
 		FormalRTESymbolSubst < DefaultSymbolType, DefaultRankType > subst ( alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( m_substitutionSymbol ).getSymbol ( ) ) );
diff --git a/alib2data/src/rte/formal/FormalRTESymbol.h b/alib2data/src/rte/formal/FormalRTESymbol.h
index 71d9208e16d73d503c7cbc46fd42f1ac7395e1b9..a61a55b6a2d54bfab6e53128b09bb4e67612e977 100644
--- a/alib2data/src/rte/formal/FormalRTESymbol.h
+++ b/alib2data/src/rte/formal/FormalRTESymbol.h
@@ -57,7 +57,7 @@ public:
 	virtual FormalRTESymbol < SymbolType, RankType > * clone ( ) const & override = 0;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement::clone ( ) &&
 	 */
 	virtual FormalRTESymbol < SymbolType, RankType > * clone ( ) && override = 0;
 
diff --git a/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h b/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h
index 7980552c2f19b25f1613f574adaa79776f90e67c..ae0fee2e9b3a9719df2cd42a8c9c48aaf0a099be 100644
--- a/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h
+++ b/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h
@@ -61,27 +61,27 @@ public:
 	explicit FormalRTESymbolAlphabet ( common::ranked_symbol < SymbolType, RankType > symbol, ext::ptr_vector < FormalRTEElement < SymbolType, RankType > > children );
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) const &
 	 */
 	virtual FormalRTESymbolAlphabet < SymbolType, RankType > * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) &&
 	 */
 	virtual FormalRTESymbolAlphabet < SymbolType, RankType > * clone ( ) && override;
 
 	/**
-	 * @copydoc FormalRTEElement::testSymbol() const
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::testSymbol ( const common::ranked_symbol < SymbolType, RankType > & ) const
 	 */
 	virtual bool testSymbol ( const common::ranked_symbol < SymbolType, RankType > & symbol ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::computeMinimalAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > &, ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::checkAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > &, const ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual bool checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
@@ -100,7 +100,7 @@ public:
 	ext::ptr_vector < FormalRTEElement < SymbolType, RankType > > & getElements ( );
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & ) const
 	 */
 	virtual int compare ( const FormalRTEElement < SymbolType, RankType > & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -118,17 +118,17 @@ public:
 	int compare ( const FormalRTESymbolAlphabet & ) const;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc regexp::FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
 	 */
 	virtual ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > normalize ( ) && override {
 		ext::ptr_vector < FormalRTEElement < DefaultSymbolType, DefaultRankType > > children;
diff --git a/alib2data/src/rte/formal/FormalRTESymbolSubst.h b/alib2data/src/rte/formal/FormalRTESymbolSubst.h
index bd51b5c70f16af6dfa52657071a2186093e7bb62..170d9b9952d7adba6f6d309e479aa9ae24a67067 100644
--- a/alib2data/src/rte/formal/FormalRTESymbolSubst.h
+++ b/alib2data/src/rte/formal/FormalRTESymbolSubst.h
@@ -60,32 +60,32 @@ public:
 	explicit FormalRTESymbolSubst ( common::ranked_symbol < SymbolType, RankType > symbol );
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) const &
 	 */
 	virtual FormalRTESymbolSubst < SymbolType, RankType > * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) &&
 	 */
 	virtual FormalRTESymbolSubst < SymbolType, RankType > * clone ( ) && override;
 
 	/**
-	 * @copydoc FormalRTEElement::testSymbol() const
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::testSymbol ( const common::ranked_symbol < SymbolType, RankType > & ) const
 	 */
 	virtual bool testSymbol ( const common::ranked_symbol < SymbolType, RankType > & symbol ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::computeMinimalAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > &, ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::checkAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > &, const ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual bool checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & ) const
 	 */
 	virtual int compare ( const FormalRTEElement < SymbolType, RankType > & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -103,17 +103,17 @@ public:
 	int compare ( const FormalRTESymbolSubst & ) const;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc regexp::FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
 	 */
 	virtual ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > normalize ( ) && override {
 		FormalRTESymbolSubst < DefaultSymbolType, DefaultRankType > res ( alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->m_symbol ) ) );