diff --git a/alib2common/src/container/ContainerBase.h b/alib2common/src/container/ContainerBase.h
index b52b0bdea0809e13c74c67401d4b816c002dde85..c69357701eff09286418e9c5fd5eb563bbe4477c 100644
--- a/alib2common/src/container/ContainerBase.h
+++ b/alib2common/src/container/ContainerBase.h
@@ -1,6 +1,22 @@
 /*
  * ContainerBase.h
  *
+ * This file is part of Algorithms library toolkit.
+ * Copyright (C) 2017 Jan Travnicek (jan.travnicek@fit.cvut.cz)
+
+ * Algorithms library toolkit is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * Algorithms library toolkit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Algorithms library toolkit.  If not, see <http://www.gnu.org/licenses/>.
+ *
  *  Created on: Mar 26, 2013
  *      Author: Jan Travnicek
  */
@@ -13,12 +29,19 @@
 namespace container {
 
 /**
- * Represents symbol in an alphabet.
+ * \brief Represents base for a concrete container type.
  */
 class ContainerBase : public object::ObjectBase {
 public:
-	virtual ContainerBase* clone ( ) const & = 0;
-	virtual ContainerBase* clone() && = 0;
+	/**
+	 * @copydoc ObjectBase::clone ( ) const &
+	 */
+	virtual ContainerBase* clone ( ) const & override = 0;
+
+	/**
+	 * @copydoc ObjectBase::clone ( ) &&
+	 */
+	virtual ContainerBase* clone() && override = 0;
 
 };
 
diff --git a/alib2common/src/container/ObjectsDeque.h b/alib2common/src/container/ObjectsDeque.h
index 3abc1439f4b35e27fd73f351d365c0f59ed5c53d..051afee6c99cc099842f9b8fa616bbb24602bad5 100644
--- a/alib2common/src/container/ObjectsDeque.h
+++ b/alib2common/src/container/ObjectsDeque.h
@@ -1,6 +1,22 @@
 /*
  * Deque.h
  *
+ * This file is part of Algorithms library toolkit.
+ * Copyright (C) 2017 Jan Travnicek (jan.travnicek@fit.cvut.cz)
+
+ * Algorithms library toolkit is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * Algorithms library toolkit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Algorithms library toolkit.  If not, see <http://www.gnu.org/licenses/>.
+ *
  * Created on: Apr 1, 2013
  * Author: Jan Travnicek
  */
@@ -22,32 +38,70 @@
 namespace container {
 
 /**
- * Basic container from which are derived all other containers.
- * Contains reason why the container occurred.
+ * \brief
+ * Represents an adaptor of a deque container from the stl extensions provided by the algorithms library.
+ *
+ * The deque is a linear random access container.
  */
 template < class ElementType = object::Object >
 class ObjectsDeque final : public ext::deque < ElementType >, public ContainerBase {
 public:
-	explicit ObjectsDeque ( ext::deque < ElementType > );
+	/**
+	 * \brief
+	 * Creates a new instance of the container based on the extended version of the stl deque container.
+	 *
+	 * \param raw the extended deque container
+	 */
+	explicit ObjectsDeque ( ext::deque < ElementType > raw );
+
+	/**
+	 * \brief
+	 * Creates a new instance of the contaier based on defaultly construted underlying container container.
+	 */
 	explicit ObjectsDeque ( );
 
-	virtual ContainerBase * clone ( ) const &;
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) const &
+	 */
+	virtual ContainerBase * clone ( ) const & override;
 
-	virtual ContainerBase * clone ( ) &&;
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) &&
+	 */
+	virtual ContainerBase * clone ( ) && override;
 
-	virtual int compare ( const ObjectBase & other ) const {
+	/**
+	 * @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 );
 
 		return ext::type_index ( typeid ( * this ) ) - ext::type_index ( typeid ( other ) );
 	}
 
-	virtual int compare ( const ObjectsDeque & other ) const;
-
-	virtual void operator >>( std::ostream & os ) const;
-
-	virtual explicit operator std::string ( ) const;
-
-	virtual object::ObjectBase * inc ( ) &&;
+	/**
+	 * The actual compare method
+	 *
+	 * \param other the other instance
+	 *
+	 * \returns the actual relation between two by type same containers
+	 */
+	int compare ( const ObjectsDeque & other ) const;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator >> ( std::ostream & ) const
+	 */
+	virtual void operator >>( std::ostream & os ) const override;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator std::string ( ) const
+	 */
+	virtual explicit operator std::string ( ) const override;
+
+	/**
+	 * @copydoc object::ObjectBase::inc ( ) &&
+	 */
+	virtual object::ObjectBase * inc ( ) && override;
 };
 
 template < class ElementType >
diff --git a/alib2common/src/container/ObjectsList.h b/alib2common/src/container/ObjectsList.h
index 8911a56de320340d857f8b5e2d0bb6b961ec48ee..5d3ea6e4b1445d9a163b6cfe8104947eb02c763a 100644
--- a/alib2common/src/container/ObjectsList.h
+++ b/alib2common/src/container/ObjectsList.h
@@ -1,6 +1,22 @@
 /*
  * List.h
  *
+ * This file is part of Algorithms library toolkit.
+ * Copyright (C) 2017 Jan Travnicek (jan.travnicek@fit.cvut.cz)
+
+ * Algorithms library toolkit is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * Algorithms library toolkit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Algorithms library toolkit.  If not, see <http://www.gnu.org/licenses/>.
+ *
  * Created on: Apr 1, 2013
  * Author: Jan Travnicek
  */
@@ -22,32 +38,70 @@
 namespace container {
 
 /**
- * Basic container from which are derived all other containers.
- * Contains reason why the container occured.
+ * \brief
+ * Represents an adaptor of a list container from the stl extensions provided by the algorithms library.
+ *
+ * The list is a linear sequential container.
  */
 template < class ElementType = object::Object >
 class ObjectsList final : public ext::list < ElementType >, public ContainerBase {
 public:
-	explicit ObjectsList ( ext::list < ElementType > );
+	/**
+	 * \brief
+	 * Creates a new instance of the container based on the extended version of the stl list container.
+	 *
+	 * \param raw the extended list container
+	 */
+	explicit ObjectsList ( ext::list < ElementType > raw );
+
+	/**
+	 * \brief
+	 * Creates a new instance of the contaier based on defaultly construted underlying container.
+	 */
 	explicit ObjectsList ( );
 
-	virtual ContainerBase * clone ( ) const &;
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) const &
+	 */
+	virtual ContainerBase * clone ( ) const & override;
 
-	virtual ContainerBase * clone ( ) &&;
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) &&
+	 */
+	virtual ContainerBase * clone ( ) && override;
 
-	virtual int compare ( const ObjectBase & other ) const {
+	/**
+	 * @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 );
 
 		return ext::type_index ( typeid ( * this ) ) - ext::type_index ( typeid ( other ) );
 	}
 
-	virtual int compare ( const ObjectsList & other ) const;
-
-	virtual void operator >>( std::ostream & os ) const;
-
-	virtual explicit operator std::string ( ) const;
-
-	virtual object::ObjectBase * inc ( ) &&;
+	/**
+	 * The actual compare method
+	 *
+	 * \param other the other instance
+	 *
+	 * \returns the actual relation between two by type same containers
+	 */
+	int compare ( const ObjectsList & other ) const;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator >> ( std::ostream & ) const
+	 */
+	virtual void operator >>( std::ostream & os ) const override;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator std::string ( ) const
+	 */
+	virtual explicit operator std::string ( ) const override;
+
+	/**
+	 * @copydoc object::ObjectBase::inc ( ) &&
+	 */
+	virtual object::ObjectBase * inc ( ) && override;
 };
 
 template < class ElementType >
diff --git a/alib2common/src/container/ObjectsMap.h b/alib2common/src/container/ObjectsMap.h
index f1e1b14e3cd275ddaba700cafc326d6cc5e2a70f..93958bbdf2448c503675892748a33b7d61dd8626 100644
--- a/alib2common/src/container/ObjectsMap.h
+++ b/alib2common/src/container/ObjectsMap.h
@@ -1,6 +1,22 @@
 /*
  * Map.h
  *
+ * This file is part of Algorithms library toolkit.
+ * Copyright (C) 2017 Jan Travnicek (jan.travnicek@fit.cvut.cz)
+
+ * Algorithms library toolkit is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * Algorithms library toolkit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Algorithms library toolkit.  If not, see <http://www.gnu.org/licenses/>.
+ *
  * Created on: Apr 1, 2013
  * Author: Jan Travnicek
  */
@@ -23,32 +39,70 @@
 namespace container {
 
 /**
- * Basic container from which are derived all other containers.
- * Contains reason why the container occured.
+ * \brief
+ * Represents an adaptor of a map container from the stl extensions provided by the algorithms library.
+ *
+ * The map is an associative container.
  */
 template < class KeyType = object::Object, class ValueType = object::Object >
 class ObjectsMap final : public ext::map < KeyType, ValueType >, public ContainerBase {
 public:
-	explicit ObjectsMap ( ext::map < KeyType, ValueType > );
+	/**
+	 * \brief
+	 * Creates a new instance of the container based on the extended version of the stl map container.
+	 *
+	 * \param raw the extended map container
+	 */
+	explicit ObjectsMap ( ext::map < KeyType, ValueType > raw );
+
+	/**
+	 * \brief
+	 * Creates a new instance of the contaier based on defaultly construted underlying container.
+	 */
 	explicit ObjectsMap ( );
 
-	virtual ContainerBase * clone ( ) const &;
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) const &
+	 */
+	virtual ContainerBase * clone ( ) const & override;
 
-	virtual ContainerBase * clone ( ) &&;
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) &&
+	 */
+	virtual ContainerBase * clone ( ) && override;
 
-	virtual int compare ( const ObjectBase & other ) const {
+	/**
+	 * @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 );
 
 		return ext::type_index ( typeid ( * this ) ) - ext::type_index ( typeid ( other ) );
 	}
 
-	virtual int compare ( const ObjectsMap & other ) const;
-
-	virtual void operator >>( std::ostream & os ) const;
-
-	virtual explicit operator std::string ( ) const;
-
-	virtual object::ObjectBase * inc ( ) &&;
+	/**
+	 * The actual compare method
+	 *
+	 * \param other the other instance
+	 *
+	 * \returns the actual relation between two by type same containers
+	 */
+	int compare ( const ObjectsMap & other ) const;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator >> ( std::ostream & ) const
+	 */
+	virtual void operator >>( std::ostream & os ) const override;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator std::string ( ) const
+	 */
+	virtual explicit operator std::string ( ) const override;
+
+	/**
+	 * @copydoc object::ObjectBase::inc ( ) &&
+	 */
+	virtual object::ObjectBase * inc ( ) && override;
 };
 
 template < class KeyType, class ValueType >
diff --git a/alib2common/src/container/ObjectsPair.h b/alib2common/src/container/ObjectsPair.h
index e08ed37d0dc9e468089b7cd93430343975b765d7..604182d9a2513a0e6a2694731f7926bc141561b2 100644
--- a/alib2common/src/container/ObjectsPair.h
+++ b/alib2common/src/container/ObjectsPair.h
@@ -1,6 +1,22 @@
 /*
  * Pair.h
  *
+ * This file is part of Algorithms library toolkit.
+ * Copyright (C) 2017 Jan Travnicek (jan.travnicek@fit.cvut.cz)
+
+ * Algorithms library toolkit is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * Algorithms library toolkit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Algorithms library toolkit.  If not, see <http://www.gnu.org/licenses/>.
+ *
  * Created on: Apr 1, 2013
  * Author: Jan Travnicek
  */
@@ -22,32 +38,73 @@
 namespace container {
 
 /**
- * Basic container from which are derived all other containers.
- * Contains reason why the container occured.
+ * \brief
+ * Represents an adaptor of a pair datatype from the stl extensions provided by the algorithms library.
+ *
+ * The datatype packs two arbitrary values together.
  */
 template < class FirstType = object::Object, class SecondType = object::Object >
 class ObjectsPair final : public ext::pair < FirstType, SecondType >, public ContainerBase {
 public:
+	/**
+	 * \brief
+	 * Creates a new instance of the pair based on the two packed values.
+	 *
+	 * \param firstObject the first value of the pair
+	 * \param firstObject the second value of the pair
+	 */
 	explicit ObjectsPair ( FirstType firstObject, SecondType secondObject );
-	explicit ObjectsPair ( ext::pair < FirstType, SecondType > );
 
-	virtual ContainerBase * clone ( ) const &;
-
-	virtual ContainerBase * clone ( ) &&;
-
-	virtual int compare ( const ObjectBase & other ) const {
+	/**
+	 * \brief
+	 * Creates a new instance of the pair based on the extended version of the stl pair.
+	 *
+	 * \param raw the extended pair datatype
+	 */
+	explicit ObjectsPair ( ext::pair < FirstType, SecondType > raw );
+
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) const &
+	 */
+	virtual ContainerBase * clone ( ) const & override;
+
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) &&
+	 */
+	virtual ContainerBase * clone ( ) && override;
+
+	/**
+	 * @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 );
 
 		return ext::type_index ( typeid ( * this ) ) - ext::type_index ( typeid ( other ) );
 	}
 
-	virtual int compare ( const ObjectsPair & other ) const;
-
-	virtual void operator >>( std::ostream & os ) const;
-
-	virtual explicit operator std::string ( ) const;
-
-	virtual object::ObjectBase * inc ( ) &&;
+	/**
+	 * The actual compare method
+	 *
+	 * \param other the other instance
+	 *
+	 * \returns the actual relation between two by type same containers
+	 */
+	int compare ( const ObjectsPair & other ) const;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator >> ( std::ostream & ) const
+	 */
+	virtual void operator >>( std::ostream & os ) const override;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator std::string ( ) const
+	 */
+	virtual explicit operator std::string ( ) const override;
+
+	/**
+	 * @copydoc object::ObjectBase::inc ( ) &&
+	 */
+	virtual object::ObjectBase * inc ( ) && override;
 };
 
 template < class FirstType, class SecondType >
diff --git a/alib2common/src/container/ObjectsSet.h b/alib2common/src/container/ObjectsSet.h
index 0485d5d8da21f23a4d4219f0d0082dcfc510e854..b0218b8e289726bfd523dd2887f4778254e9eb7c 100644
--- a/alib2common/src/container/ObjectsSet.h
+++ b/alib2common/src/container/ObjectsSet.h
@@ -1,6 +1,22 @@
 /*
  * Set.h
  *
+ * This file is part of Algorithms library toolkit.
+ * Copyright (C) 2017 Jan Travnicek (jan.travnicek@fit.cvut.cz)
+
+ * Algorithms library toolkit is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * Algorithms library toolkit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Algorithms library toolkit.  If not, see <http://www.gnu.org/licenses/>.
+ *
  * Created on: Apr 1, 2013
  * Author: Jan Travnicek
  */
@@ -22,32 +38,70 @@
 namespace container {
 
 /**
- * Basic container from which are derived all other containers.
- * Contains reason why the container occured.
+ * \brief
+ * Represents an adaptor of a set container from the stl extensions provided by the algorithms library.
+ *
+ * The set is an associative container.
  */
 template < class ElementType = object::Object >
 class ObjectsSet final : public ext::set < ElementType >, public ContainerBase {
 public:
-	explicit ObjectsSet ( ext::set < ElementType > );
+	/**
+	 * \brief
+	 * Creates a new instance of the container based on the extended version of the stl set container.
+	 *
+	 * \param raw the extended set contaier
+	 */
+	explicit ObjectsSet ( ext::set < ElementType > raw );
+
+	/**
+	 * \brief
+	 * Creates a new instance of the contaier based on defaultly construted underlying container.
+	 */
 	explicit ObjectsSet ( );
 
-	virtual ContainerBase * clone ( ) const &;
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) const &
+	 */
+	virtual ContainerBase * clone ( ) const & override;
 
-	virtual ContainerBase * clone ( ) &&;
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) &&
+	 */
+	virtual ContainerBase * clone ( ) && override;
 
-	virtual int compare ( const ObjectBase & other ) const {
+	/**
+	 * @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 );
 
 		return ext::type_index ( typeid ( * this ) ) - ext::type_index ( typeid ( other ) );
 	}
 
-	virtual int compare ( const ObjectsSet & other ) const;
-
-	virtual void operator >>( std::ostream & os ) const;
-
-	virtual explicit operator std::string ( ) const;
-
-	virtual object::ObjectBase * inc ( ) &&;
+	/**
+	 * The actual compare method
+	 *
+	 * \param other the other instance
+	 *
+	 * \returns the actual relation between two by type same containers
+	 */
+	int compare ( const ObjectsSet & other ) const;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator >> ( std::ostream & ) const
+	 */
+	virtual void operator >>( std::ostream & os ) const override;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator std::string ( ) const
+	 */
+	virtual explicit operator std::string ( ) const override;
+
+	/**
+	 * @copydoc object::ObjectBase::inc ( ) &&
+	 */
+	virtual object::ObjectBase * inc ( ) && override;
 };
 
 template < class ElementType >
diff --git a/alib2common/src/container/ObjectsTree.h b/alib2common/src/container/ObjectsTree.h
index b18c952abfb8aeec0d28ea91dada36897da574ef..da848a374b8d27f9ddc3e1198a8ccd2f9a030df5 100644
--- a/alib2common/src/container/ObjectsTree.h
+++ b/alib2common/src/container/ObjectsTree.h
@@ -1,6 +1,22 @@
 /*
  * ObjectsTree.h
  *
+ * This file is part of Algorithms library toolkit.
+ * Copyright (C) 2017 Jan Travnicek (jan.travnicek@fit.cvut.cz)
+
+ * Algorithms library toolkit is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * Algorithms library toolkit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Algorithms library toolkit.  If not, see <http://www.gnu.org/licenses/>.
+ *
  * Created on: Apr 1, 2013
  * Author: Jan Travnicek
  */
@@ -22,31 +38,64 @@
 namespace container {
 
 /**
- * Basic container from which are derived all other containers.
- * Contains reason why the container occured.
+ * \brief
+ * Represents an adaptor of a tree container from the stl extensions provided by the algorithms library.
+ *
+ * The tree is a structured random access container.
  */
 template < class ElementType = object::Object >
 class ObjectsTree final : public ext::tree < ElementType >, public ContainerBase {
 public:
-	explicit ObjectsTree ( ext::tree < ElementType > );
-
-	virtual ContainerBase * clone ( ) const &;
-
-	virtual ContainerBase * clone ( ) &&;
-
-	virtual int compare ( const ObjectBase & other ) const {
+	/**
+	 * \brief
+	 * Creates a new instance of the tree container wrapper based on the tree datatype from stl extensions of the algorithms library.
+	 *
+	 * \param raw the extended tree contaier
+	 */
+	explicit ObjectsTree ( ext::tree < ElementType > raw );
+
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) const &
+	 */
+	virtual ContainerBase * clone ( ) const & override;
+
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) &&
+	 */
+	virtual ContainerBase * clone ( ) && override;
+
+	/**
+	 * @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 );
 
 		return ext::type_index ( typeid ( * this ) ) - ext::type_index ( typeid ( other ) );
 	}
 
-	virtual int compare ( const ObjectsTree & other ) const;
-
-	virtual void operator >>( std::ostream & os ) const;
-
-	virtual explicit operator std::string ( ) const;
-
-	virtual object::ObjectBase * inc ( ) &&;
+	/**
+	 * The actual compare method
+	 *
+	 * \param other the other instance
+	 *
+	 * \returns the actual relation between two by type same containers
+	 */
+	int compare ( const ObjectsTree & other ) const;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator >> ( std::ostream & ) const
+	 */
+	virtual void operator >>( std::ostream & os ) const override;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator std::string ( ) const
+	 */
+	virtual explicit operator std::string ( ) const override;
+
+	/**
+	 * @copydoc object::ObjectBase::inc ( ) &&
+	 */
+	virtual object::ObjectBase * inc ( ) && override;
 };
 
 template < class ElementType >
diff --git a/alib2common/src/container/ObjectsTrie.h b/alib2common/src/container/ObjectsTrie.h
index 4634f28ac5e86d48880c41d4d0802fbba6af61a1..c5e204214412494166b253b61ded72f1f084990a 100644
--- a/alib2common/src/container/ObjectsTrie.h
+++ b/alib2common/src/container/ObjectsTrie.h
@@ -1,6 +1,22 @@
 /*
  * ObjectsTrie.h
  *
+ * This file is part of Algorithms library toolkit.
+ * Copyright (C) 2017 Jan Travnicek (jan.travnicek@fit.cvut.cz)
+
+ * Algorithms library toolkit is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * Algorithms library toolkit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Algorithms library toolkit.  If not, see <http://www.gnu.org/licenses/>.
+ *
  * Created on: Apr 1, 2013
  * Author: Jan Travnicek
  */
@@ -22,31 +38,64 @@
 namespace container {
 
 /**
- * Basic container from which are derived all other containers.
- * Contains reason why the container occured.
+ * \brief
+ * Represents an adaptor of a trie container from the stl extensions provided by the algorithms library.
+ *
+ * The trie is an structured associative container.
  */
 template < class KeyType = object::Object, class ValueType = object::Object >
 class ObjectsTrie final : public ext::trie < KeyType, ValueType >, public ContainerBase {
 public:
-	explicit ObjectsTrie ( ext::trie < KeyType, ValueType > );
-
-	virtual ContainerBase * clone ( ) const &;
-
-	virtual ContainerBase * clone ( ) &&;
-
-	virtual int compare ( const ObjectBase & other ) const {
+	/**
+	 * \brief
+	 * Creates a new instance of the trie container wrapper based on the tree datatype from stl extensions of the algorithms library.
+	 *
+	 * \param raw the extended tree contaier
+	 */
+	explicit ObjectsTrie ( ext::trie < KeyType, ValueType > raw );
+
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) const &
+	 */
+	virtual ContainerBase * clone ( ) const & override;
+
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) &&
+	 */
+	virtual ContainerBase * clone ( ) && override;
+
+	/**
+	 * @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 );
 
 		return ext::type_index ( typeid ( * this ) ) - ext::type_index ( typeid ( other ) );
 	}
 
-	virtual int compare ( const ObjectsTrie & other ) const;
-
-	virtual void operator >>( std::ostream & os ) const;
-
-	virtual explicit operator std::string ( ) const;
-
-	virtual object::ObjectBase * inc ( ) &&;
+	/**
+	 * The actual compare method
+	 *
+	 * \param other the other instance
+	 *
+	 * \returns the actual relation between two by type same containers
+	 */
+	int compare ( const ObjectsTrie & other ) const;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator >> ( std::ostream & ) const
+	 */
+	virtual void operator >>( std::ostream & os ) const override;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator std::string ( ) const
+	 */
+	virtual explicit operator std::string ( ) const override;
+
+	/**
+	 * @copydoc object::ObjectBase::inc ( ) &&
+	 */
+	virtual object::ObjectBase * inc ( ) && override;
 };
 
 template < class KeyType, class ValueType >
diff --git a/alib2common/src/container/ObjectsVector.h b/alib2common/src/container/ObjectsVector.h
index bdf41b9db1fbaa98a842ca3b952e7881100aa833..19ef17696a557465979dd5489424fb0d52a808f7 100644
--- a/alib2common/src/container/ObjectsVector.h
+++ b/alib2common/src/container/ObjectsVector.h
@@ -1,6 +1,22 @@
 /*
  * vector.h
  *
+ * This file is part of Algorithms library toolkit.
+ * Copyright (C) 2017 Jan Travnicek (jan.travnicek@fit.cvut.cz)
+
+ * Algorithms library toolkit is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * Algorithms library toolkit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Algorithms library toolkit.  If not, see <http://www.gnu.org/licenses/>.
+ *
  * Created on: Apr 1, 2013
  * Author: Jan Travnicek
  */
@@ -22,32 +38,70 @@
 namespace container {
 
 /**
- * Basic container from which are derived all other containers.
- * Contains reason why the container occured.
+ * \brief
+ * Represents an adaptor of a vector container from the stl extensions provided by the algorithms library.
+ *
+ * The vector is a linear random access container.
  */
 template < class ElementType = object::Object >
 class ObjectsVector final : public ext::vector < ElementType >, public ContainerBase {
 public:
+	/**
+	 * \brief
+	 * Creates a new instance of the container based on the extended version of the stl vector container.
+	 *
+	 * \param raw the extended vector contaier
+	 */
 	explicit ObjectsVector ( ext::vector < ElementType > );
+
+	/**
+	 * \brief
+	 * Creates a new instance of the contaier based on defaultly construted underlying container.
+	 */
 	explicit ObjectsVector ( );
 
-	virtual ContainerBase * clone ( ) const &;
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) const &
+	 */
+	virtual ContainerBase * clone ( ) const & override;
 
-	virtual ContainerBase * clone ( ) &&;
+	/**
+	 * @copydoc alphabet::ContainerBase::clone ( ) &&
+	 */
+	virtual ContainerBase * clone ( ) && override;
 
-	virtual int compare ( const ObjectBase & other ) const {
+	/**
+	 * @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 );
 
 		return ext::type_index ( typeid ( * this ) ) - ext::type_index ( typeid ( other ) );
 	}
 
-	virtual int compare ( const ObjectsVector & other ) const;
-
-	virtual void operator >>( std::ostream & os ) const;
-
-	virtual explicit operator std::string ( ) const;
-
-	virtual object::ObjectBase * inc ( ) &&;
+	/**
+	 * The actual compare method
+	 *
+	 * \param other the other instance
+	 *
+	 * \returns the actual relation between two by type same containers
+	 */
+	int compare ( const ObjectsVector & other ) const;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator >> ( std::ostream & ) const
+	 */
+	virtual void operator >>( std::ostream & os ) const override;
+
+	/**
+	 * @copydoc base::CommonBase < ObjectBase >::operator std::string ( ) const
+	 */
+	virtual explicit operator std::string ( ) const override;
+
+	/**
+	 * @copydoc object::ObjectBase::inc ( ) &&
+	 */
+	virtual object::ObjectBase * inc ( ) && override;
 };
 
 template < class ElementType >