diff --git a/alib2common/src/container/ObjectsDeque.cpp b/alib2common/src/container/ObjectsDeque.cpp
deleted file mode 100644
index 97a385215688945c2fd1d8b1e26cd4ca5b67bd5c..0000000000000000000000000000000000000000
--- a/alib2common/src/container/ObjectsDeque.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * Deque.cpp
- *
- * Created on: Apr 1, 2013
- * Author: Jan Travnicek
- */
-
-#include "ObjectsDeque.h"
-#include <registration/ValuePrinterRegistration.hpp>
-
-namespace {
-
-static auto valuePrinter = registration::ValuePrinterRegister < container::ObjectsDeque < > > ( );
-
-} /* namespace */
diff --git a/alib2common/src/container/ObjectsDeque.h b/alib2common/src/container/ObjectsDeque.h
deleted file mode 100644
index 889e37d7a73317d9c53cd051eaece71a0fa34a6b..0000000000000000000000000000000000000000
--- a/alib2common/src/container/ObjectsDeque.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * 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
- */
-
-#ifndef OBJECTS_DEQUE_H_
-#define OBJECTS_DEQUE_H_
-
-#include <alib/deque>
-#include <alib/string>
-#include <sstream>
-
-#include "ContainerBase.h"
-
-#include <object/UniqueObject.h>
-#include <object/ObjectFactory.h>
-
-#include <core/normalize.hpp>
-
-namespace container {
-
-/**
- * \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.
- *
- * \tparam ElementType the type of values stored in the container.
- */
-template < class ElementType = object::Object >
-class ObjectsDeque final : public ext::deque < ElementType >, public ContainerBase {
-public:
-	/**
-	 * \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 ( );
-
-	/**
-	 * @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 ) );
-	}
-
-	/**
-	 * 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 >
-ObjectsDeque < ElementType >::ObjectsDeque ( ext::deque < ElementType > raw ) : ext::deque < ElementType > ( std::move ( raw ) ) {
-}
-
-template < class ElementType >
-ObjectsDeque < ElementType >::ObjectsDeque ( ) : ext::deque < ElementType > ( ) {
-}
-
-template < class ElementType >
-ContainerBase * ObjectsDeque < ElementType >::clone ( ) const & {
-	return new ObjectsDeque ( * this );
-}
-
-template < class ElementType >
-ContainerBase * ObjectsDeque < ElementType >::clone ( ) && {
-	return new ObjectsDeque ( std::move ( * this ) );
-}
-
-template < class ElementType >
-int ObjectsDeque < ElementType >::compare ( const ObjectsDeque & other ) const {
-	static ext::compare < ext::deque < ElementType > > comp;
-
-	return comp ( static_cast < const ext::deque < ElementType > & > ( * this ), static_cast < const ext::deque < ElementType > & > ( other ) );
-}
-
-template < class ElementType >
-void ObjectsDeque < ElementType >::operator >>( std::ostream & os ) const {
-	os << "(ObjectsDeque " << static_cast < const ext::deque < ElementType > & > ( * this ) << ")";
-}
-
-template < class ElementType >
-ObjectsDeque < ElementType >::operator std::string ( ) const {
-	std::stringstream ss;
-	ss << * this;
-	return std::move ( ss ).str ( );
-}
-
-template < class ElementType >
-object::ObjectBase* ObjectsDeque < ElementType >::inc() && {
-	return new object::UniqueObject(object::Object(std::move(*this)), primitive::Integer(0));
-}
-
-} /* namespace container */
-
-namespace core {
-
-template < class ElementType >
-struct normalize < container::ObjectsDeque < ElementType > > {
-	static ext::deque < object::Object > raw ( ext::deque < ElementType > && source ) {
-		ext::deque < object::Object > res;
-
-		for ( ElementType & element : source )
-			res.push_back ( object::ObjectFactory::make ( std::move ( element ) ) );
-
-		return res;
-	}
-
-	static container::ObjectsDeque < > eval ( container::ObjectsDeque < ElementType > && value ) {
-		return container::ObjectsDeque < > ( raw ( std::move ( value ) ) );
-	}
-};
-
-} /* namespace core */
-
-#endif /* OBJECTS_DEQUE_H_ */
diff --git a/alib2common/src/container/ObjectsList.cpp b/alib2common/src/container/ObjectsList.cpp
deleted file mode 100644
index 733a9c663e7d4d2201156d283dbe86b93866413f..0000000000000000000000000000000000000000
--- a/alib2common/src/container/ObjectsList.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * List.cpp
- *
- * Created on: Apr 1, 2013
- * Author: Jan Travnicek
- */
-
-#include "ObjectsList.h"
-#include <registration/ValuePrinterRegistration.hpp>
-
-namespace {
-
-static auto valuePrinter = registration::ValuePrinterRegister < container::ObjectsList < > > ( );
-
-} /* namespace */
diff --git a/alib2common/src/container/ObjectsList.h b/alib2common/src/container/ObjectsList.h
deleted file mode 100644
index 858adeaf5e9a3fc5eaf6c64325fea39fac17f737..0000000000000000000000000000000000000000
--- a/alib2common/src/container/ObjectsList.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * 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
- */
-
-#ifndef OBJECTS_LIST_H_
-#define OBJECTS_LIST_H_
-
-#include <alib/list>
-#include <alib/string>
-#include <sstream>
-
-#include "ContainerBase.h"
-
-#include <object/UniqueObject.h>
-#include <object/ObjectFactory.h>
-
-#include <core/normalize.hpp>
-
-namespace container {
-
-/**
- * \brief
- * Represents an adaptor of a list container from the stl extensions provided by the algorithms library.
- *
- * The list is a linear sequential container.
- *
- * \tparam ElementType the type of values stored in the container.
- */
-template < class ElementType = object::Object >
-class ObjectsList final : public ext::list < ElementType >, public ContainerBase {
-public:
-	/**
-	 * \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 ( );
-
-	/**
-	 * @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 ) );
-	}
-
-	/**
-	 * 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 >
-ObjectsList < ElementType >::ObjectsList ( ext::list < ElementType > raw ) : ext::list < ElementType > ( std::move ( raw ) ) {
-}
-
-template < class ElementType >
-ObjectsList < ElementType >::ObjectsList ( ) : ext::list < ElementType > ( ) {
-}
-
-template < class ElementType >
-ContainerBase * ObjectsList < ElementType >::clone ( ) const & {
-	return new ObjectsList ( * this );
-}
-
-template < class ElementType >
-ContainerBase * ObjectsList < ElementType >::clone ( ) && {
-	return new ObjectsList ( std::move ( * this ) );
-}
-
-template < class ElementType >
-int ObjectsList < ElementType >::compare ( const ObjectsList & other ) const {
-	static ext::compare < ext::list < ElementType > > comp;
-
-	return comp ( static_cast < const ext::list < ElementType > & > ( * this ), static_cast < const ext::list < ElementType > & > ( other ) );
-}
-
-template < class ElementType >
-void ObjectsList < ElementType >::operator >>( std::ostream & os ) const {
-	os << "(ObjectsList " << static_cast < const ext::list < ElementType > & > ( * this ) << ")";
-}
-
-template < class ElementType >
-ObjectsList < ElementType >::operator std::string ( ) const {
-	std::stringstream ss;
-	ss << * this;
-	return std::move ( ss ).str ( );
-}
-
-template < class ElementType >
-object::ObjectBase* ObjectsList < ElementType >::inc() && {
-	return new object::UniqueObject(object::Object(std::move(*this)), primitive::Integer(0));
-}
-
-} /* namespace container */
-
-namespace core {
-
-template < class ElementType >
-struct normalize < container::ObjectsList < ElementType > > {
-	static ext::list < object::Object > raw ( ext::list < ElementType > && source ) {
-		ext::list < object::Object > res;
-
-		for ( ElementType & element : source )
-			res.push_back ( object::ObjectFactory::make ( std::move ( element ) ) );
-
-		return res;
-	}
-
-	static container::ObjectsList < > eval ( container::ObjectsList < ElementType > && value ) {
-		return container::ObjectsList < > ( raw ( std::move ( value ) ) );
-	}
-};
-
-} /* namespace core */
-
-#endif /* OBJECTS_LIST_H_ */
diff --git a/alib2common/src/container/ObjectsVector.cpp b/alib2common/src/container/ObjectsVector.cpp
deleted file mode 100644
index 815b2ee386c1dfb2938530704bb875f0ccd1d40c..0000000000000000000000000000000000000000
--- a/alib2common/src/container/ObjectsVector.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * Vector.cpp
- *
- * Created on: Apr 1, 2013
- * Author: Jan Travnicek
- */
-
-#include "ObjectsVector.h"
-#include <registration/ValuePrinterRegistration.hpp>
-
-namespace {
-
-static auto valuePrinter = registration::ValuePrinterRegister < container::ObjectsVector < > > ( );
-
-} /* namespace */
diff --git a/alib2common/src/container/ObjectsVector.h b/alib2common/src/container/ObjectsVector.h
deleted file mode 100644
index 7cd4cfe2028c186649df836164665748b36c3361..0000000000000000000000000000000000000000
--- a/alib2common/src/container/ObjectsVector.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * 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
- */
-
-#ifndef OBJECTS_VECTOR_H_
-#define OBJECTS_VECTOR_H_
-
-#include <alib/vector>
-#include <alib/string>
-#include <sstream>
-
-#include "ContainerBase.h"
-
-#include <object/UniqueObject.h>
-#include <object/ObjectFactory.h>
-
-#include <core/normalize.hpp>
-
-namespace container {
-
-/**
- * \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.
- *
- * \tparam ElementType the type of values stored in the 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 ( );
-
-	/**
-	 * @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 ) );
-	}
-
-	/**
-	 * 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 >
-ObjectsVector < ElementType >::ObjectsVector ( ext::vector < ElementType > raw ) : ext::vector < ElementType > ( std::move ( raw ) ) {
-}
-
-template < class ElementType >
-ObjectsVector < ElementType >::ObjectsVector ( ) : ext::vector < ElementType > ( ) {
-}
-
-template < class ElementType >
-ContainerBase * ObjectsVector < ElementType >::clone ( ) const & {
-	return new ObjectsVector ( * this );
-}
-
-template < class ElementType >
-ContainerBase * ObjectsVector < ElementType >::clone ( ) && {
-	return new ObjectsVector ( std::move ( * this ) );
-}
-
-template < class ElementType >
-int ObjectsVector < ElementType >::compare ( const ObjectsVector & other ) const {
-	static ext::compare < ext::vector < ElementType > > comp;
-
-	return comp ( static_cast < const ext::vector < ElementType > & > ( * this ), static_cast < const ext::vector < ElementType > & > ( other ) );
-}
-
-template < class ElementType >
-void ObjectsVector < ElementType >::operator >>( std::ostream & os ) const {
-	os << "(ObjectsVector " << static_cast < const ext::vector < ElementType > & > ( * this ) << ")";
-}
-
-template < class ElementType >
-ObjectsVector < ElementType >::operator std::string ( ) const {
-	std::stringstream ss;
-	ss << * this;
-	return std::move ( ss ).str ( );
-}
-
-template < class ElementType >
-object::ObjectBase* ObjectsVector < ElementType >::inc() && {
-	return new object::UniqueObject(object::Object(std::move(*this)), primitive::Integer(0));
-}
-
-} /* namespace container */
-
-namespace core {
-
-template < class ElementType >
-struct normalize < container::ObjectsVector < ElementType > > {
-	static ext::vector < object::Object > raw ( ext::vector < ElementType > && source ) {
-		ext::vector < object::Object > res;
-
-		for ( ElementType & element : source )
-			res.push_back ( object::ObjectFactory::make ( std::move ( element ) ) );
-
-		return res;
-	}
-
-	static container::ObjectsVector < > eval ( container::ObjectsVector < ElementType > && value ) {
-		return container::ObjectsVector < > ( raw ( std::move ( value ) ) );
-	}
-};
-
-} /* namespace core */
-
-#endif /* OBJECTS_VECTOR_H_ */
diff --git a/alib2common/test-src/container/ContainerTest.cpp b/alib2common/test-src/container/ContainerTest.cpp
deleted file mode 100644
index 5a9a10439b6d1a28bb045f311de817617fc1cc96..0000000000000000000000000000000000000000
--- a/alib2common/test-src/container/ContainerTest.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#include "ContainerTest.h"
-
-#include "object/Object.h"
-#include "container/ObjectsDeque.h"
-#include "container/ObjectsVector.h"
-#include "container/ObjectsMap.h"
-#include "container/ObjectsTree.h"
-#include "container/ObjectsTrie.h"
-
-#include <alib/type_traits>
-
-CPPUNIT_TEST_SUITE_NAMED_REGISTRATION ( ContainerTest, "container" );
-CPPUNIT_TEST_SUITE_REGISTRATION ( ContainerTest );
-
-void ContainerTest::setUp ( ) {
-}
-
-void ContainerTest::tearDown ( ) {
-}
-
-void ContainerTest::testNormalize ( ) {
-	ext::deque < int > dint;
-	ext::deque < object::Object > dnor = core::normalize < container::ObjectsDeque < int > >::raw ( std::move ( dint ) );
-	ext::deque < object::Object > dnor2 = core::normalize < container::ObjectsDeque < object::Object > >::raw ( std::move ( dnor ) );
-
-	container::ObjectsDeque < int > Dint;
-	container::ObjectsDeque < object::Object > Dnor = core::normalize < container::ObjectsDeque < int > >::eval ( std::move ( Dint ) );
-	container::ObjectsDeque < object::Object > Dnor2 = core::normalize < container::ObjectsDeque < object::Object > >::eval ( std::move ( Dnor ) );
-
-	container::ObjectsVector < int > Vint;
-	container::ObjectsVector < object::Object > Vnor = core::normalize < container::ObjectsVector < int > >::eval ( std::move ( Vint ) );
-	container::ObjectsVector < object::Object > Vnor2 = core::normalize < container::ObjectsVector < object::Object > >::eval ( std::move ( Vnor ) );
-
-	container::ObjectsMap < int, int > Mintint;
-	container::ObjectsMap < object::Object, object::Object > Mnor = core::normalize < container::ObjectsMap < int, int > >::eval ( std::move ( Mintint ) );
-	container::ObjectsMap < object::Object, object::Object > Mnor2 = core::normalize < container::ObjectsMap < object::Object, object::Object > >::eval ( std::move ( Mnor ) );
-
-	container::ObjectsTree < int > Tint ( 1 );
-	container::ObjectsTree < object::Object > Tnor = core::normalize < container::ObjectsTree < int > >::eval ( std::move ( Tint ) );
-	container::ObjectsTree < object::Object > Tnor2 = core::normalize < container::ObjectsTree < object::Object > >::eval ( std::move ( Tnor ) );
-
-	container::ObjectsTrie < int, int > Rintint ( 1 );
-	container::ObjectsTrie < object::Object, object::Object > Rnor = core::normalize < container::ObjectsTrie < int, int > >::eval ( std::move ( Rintint ) );
-	container::ObjectsTrie < object::Object, object::Object > Rnor2 = core::normalize < container::ObjectsTrie < object::Object, object::Object > >::eval ( std::move ( Rnor ) );
-}
diff --git a/alib2common/test-src/container/ContainerTest.h b/alib2common/test-src/container/ContainerTest.h
deleted file mode 100644
index a8ce770b03ddc73d554ade12d7db9db3d1a79803..0000000000000000000000000000000000000000
--- a/alib2common/test-src/container/ContainerTest.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef CONTAINER_TEST_H_
-#define CONTAINER_TEST_H_
-
-#include <cppunit/extensions/HelperMacros.h>
-
-class ContainerTest : public CppUnit::TestFixture {
-	CPPUNIT_TEST_SUITE ( ContainerTest );
-	CPPUNIT_TEST ( testNormalize );
-	CPPUNIT_TEST_SUITE_END ( );
-
-public:
-	void setUp ( );
-	void tearDown ( );
-
-	void testNormalize ( );
-};
-
-#endif // CONTAINER_TEST_H_
diff --git a/alib2data/src/PrimitiveRegistrator.cpp b/alib2data/src/PrimitiveRegistrator.cpp
index a4b58831675fb9358bbe578a699da1ed7abd95c3..fbee66c523e8c51a8c7f0a86708daba394bc72c3 100644
--- a/alib2data/src/PrimitiveRegistrator.cpp
+++ b/alib2data/src/PrimitiveRegistrator.cpp
@@ -72,7 +72,6 @@ public:
 		core::xmlApi < object::Object >::template registerXmlWriter < object::AnyObject < ext::pair < ext::set < ext::pair < object::Object, object::Object > >, object::Object > > > ( );
 		core::xmlApi < object::Object >::template registerXmlWriter < object::AnyObject < ext::pair < ext::set < ext::pair < object::Object, object::Object > >, ext::variant < string::Epsilon < object::Object >, object::Object > > > > ( );
 		core::xmlApi < object::Object >::template registerXmlWriter < object::AnyObject < ext::pair < object::Object, ext::variant < string::Epsilon < object::Object >, object::Object > > > > ( );
-		core::xmlApi < object::Object >::template registerXmlWriter < object::AnyObject < ext::vector < object::Object > > > ( );
 		core::xmlApi < object::Object >::template registerXmlWriter < object::AnyObject < ext::vector < ext::variant < object::Object, object::Object > > > > ( );
 		core::xmlApi < object::Object >::template registerXmlWriter < object::AnyObject < unsigned int > > ( );
 		core::xmlApi < object::Object >::template registerXmlWriter < object::AnyObject < common::ranked_symbol < object::Object, primitive::Unsigned > > > ( );
diff --git a/alib2data/src/indexes/arbology/CompressedBitParallelTreeIndex.h b/alib2data/src/indexes/arbology/CompressedBitParallelTreeIndex.h
index 87f2d14b07aff729af99c54ccfc8a4bbdbe05d21..410bf12015487d23367bce34ac532ad40d0bc942 100644
--- a/alib2data/src/indexes/arbology/CompressedBitParallelTreeIndex.h
+++ b/alib2data/src/indexes/arbology/CompressedBitParallelTreeIndex.h
@@ -39,7 +39,6 @@
 #include <object/ObjectBase.h>
 
 #include <container/ObjectsMap.h>
-#include <container/ObjectsVector.h>
 #include <common/SparseBoolVector.hpp>
 
 #include <primitive/Bool.h>
diff --git a/alib2data/src/indexes/arbology/FullAndLinearIndex.h b/alib2data/src/indexes/arbology/FullAndLinearIndex.h
index f913e45f119dae8cb6ad6663b77f8de15dbfdd21..f9662ba6a8458bc333f575ca8f4e3e4c8de3fd18 100644
--- a/alib2data/src/indexes/arbology/FullAndLinearIndex.h
+++ b/alib2data/src/indexes/arbology/FullAndLinearIndex.h
@@ -32,8 +32,6 @@
 #include <object/UniqueObject.h>
 #include <object/ObjectBase.h>
 
-#include <container/ObjectsVector.h>
-
 #include <indexes/stringology/PositionHeap.h>
 
 #include <alphabet/common/SymbolNormalize.h>
diff --git a/alib2data/src/indexes/arbology/NonlinearCompressedBitParallelTreeIndex.h b/alib2data/src/indexes/arbology/NonlinearCompressedBitParallelTreeIndex.h
index d328b07a3e7d83e0723f1bd707d63ebebc444941..782cffbe399d1d370c356b0e1c202c0bd669dcf4 100644
--- a/alib2data/src/indexes/arbology/NonlinearCompressedBitParallelTreeIndex.h
+++ b/alib2data/src/indexes/arbology/NonlinearCompressedBitParallelTreeIndex.h
@@ -38,7 +38,6 @@
 #include <object/ObjectBase.h>
 
 #include <container/ObjectsMap.h>
-#include <container/ObjectsVector.h>
 #include <common/SparseBoolVector.hpp>
 #include <primitive/Bool.h>
 
diff --git a/alib2data/src/indexes/arbology/NonlinearFullAndLinearIndex.h b/alib2data/src/indexes/arbology/NonlinearFullAndLinearIndex.h
index 36b06f45378020628e0d85667cb650205faec2c6..5360970d863292b0d3c0a859c1f2e5d7713ce4c3 100644
--- a/alib2data/src/indexes/arbology/NonlinearFullAndLinearIndex.h
+++ b/alib2data/src/indexes/arbology/NonlinearFullAndLinearIndex.h
@@ -32,8 +32,6 @@
 #include <object/UniqueObject.h>
 #include <object/ObjectBase.h>
 
-#include <container/ObjectsVector.h>
-
 #include <indexes/stringology/PositionHeap.h>
 
 #include <alphabet/common/SymbolNormalize.h>
diff --git a/alib2data/src/indexes/stringology/BitParallelIndex.h b/alib2data/src/indexes/stringology/BitParallelIndex.h
index 38eb4d4a91f798c93221c799da44c150c1675b03..590d06938023ca57afb099d2aee867961ac1a287 100644
--- a/alib2data/src/indexes/stringology/BitParallelIndex.h
+++ b/alib2data/src/indexes/stringology/BitParallelIndex.h
@@ -38,7 +38,6 @@
 #include <object/ObjectBase.h>
 
 #include <container/ObjectsMap.h>
-#include <container/ObjectsVector.h>
 
 #include <primitive/Bool.h>
 
diff --git a/alib2data/src/indexes/stringology/SuffixArray.h b/alib2data/src/indexes/stringology/SuffixArray.h
index d6d1d603b9517e2fdff952c27522a1bda40868e0..a1d5992532ecdc16e6692bf5af44872f825313cc 100644
--- a/alib2data/src/indexes/stringology/SuffixArray.h
+++ b/alib2data/src/indexes/stringology/SuffixArray.h
@@ -41,8 +41,6 @@
 
 #include <primitive/Unsigned.h>
 
-#include <container/ObjectsVector.h>
-
 #include <string/LinearString.h>
 
 #include <alphabet/common/SymbolNormalize.h>
diff --git a/alib2str/src/container/string/ObjectsPair.cpp b/alib2str/src/container/string/ObjectsPair.cpp
index 199ae056dfd1659341e7aa654a08ac9b0b268ffc..dacdafdff4e3e2949b3e206bc530f93ba855bec5 100644
--- a/alib2str/src/container/string/ObjectsPair.cpp
+++ b/alib2str/src/container/string/ObjectsPair.cpp
@@ -6,7 +6,6 @@
  */
 
 #include "ObjectsPair.h"
-#include <container/Container.h>
 
 #include <registration/StringRegistration.hpp>
 
diff --git a/alib2str/src/container/string/ObjectsSet.cpp b/alib2str/src/container/string/ObjectsSet.cpp
index bbb2124ca54a5ab76cf2aaed615a9618bbfef1c1..98c1fe5322a2b502c56db0bfe9dba97c55b5a3ef 100644
--- a/alib2str/src/container/string/ObjectsSet.cpp
+++ b/alib2str/src/container/string/ObjectsSet.cpp
@@ -6,7 +6,6 @@
  */
 
 #include "ObjectsSet.h"
-#include <container/Container.h>
 
 #include <registration/StringRegistration.hpp>
 
diff --git a/alib2str/src/container/string/ObjectsVector.cpp b/alib2str/src/container/string/ObjectsVector.cpp
index af3b9033a1064e4699e803d73fec02018dc960db..d8e7451577f974836caba3a72ba0ade589eb5e8c 100644
--- a/alib2str/src/container/string/ObjectsVector.cpp
+++ b/alib2str/src/container/string/ObjectsVector.cpp
@@ -6,16 +6,15 @@
  */
 
 #include "ObjectsVector.h"
-#include <container/Container.h>
 
 #include <registration/StringRegistration.hpp>
 
 namespace {
 
-static auto stringWrite = registration::StringWriterRegister < container::ObjectsVector < > > ( );
-static auto stringReaded = registration::StringReaderRegister < object::Object, container::ObjectsVector < > > ( );
+static auto stringWrite = registration::StringWriterRegister < ext::vector < object::Object > > ( );
+static auto stringReaded = registration::StringReaderRegister < object::Object, ext::vector < object::Object > > ( );
 
-static auto stringWriteGroup = registration::StringWriterRegisterTypeInGroup < object::Object, container::ObjectsVector < > > ( );
-static auto stringReadedGroup = registration::StringReaderRegisterTypeInGroup < object::Object, container::ObjectsVector < > > ( );
+static auto stringWriteGroup = registration::StringWriterRegisterTypeInGroup < object::Object, ext::vector < object::Object > > ( );
+static auto stringReadedGroup = registration::StringReaderRegisterTypeInGroup < object::Object, ext::vector < object::Object > > ( );
 
 } /* namespace */
diff --git a/alib2str/src/container/string/ObjectsVector.h b/alib2str/src/container/string/ObjectsVector.h
index 5174f0c48785cc51c7c592307b254fd975e94599..8141ef8e319f185c6be45d279a4fe935cb7f3691 100644
--- a/alib2str/src/container/string/ObjectsVector.h
+++ b/alib2str/src/container/string/ObjectsVector.h
@@ -8,7 +8,7 @@
 #ifndef _STRING_OBJECTS_VECTOR_H_
 #define _STRING_OBJECTS_VECTOR_H_
 
-#include <container/ObjectsVector.h>
+#include <alib/vector>
 #include <core/stringApi.hpp>
 
 #include <container/ContainerFromStringLexer.h>
@@ -70,28 +70,6 @@ void stringApi < ext::vector < ValueType > >::compose ( std::ostream & output, c
 	output << ']';
 }
 
-template<class ValueType >
-struct stringApi < container::ObjectsVector < ValueType > > {
-	static container::ObjectsVector < ValueType > parse ( std::istream & input );
-	static bool first ( std::istream & input );
-	static void compose ( std::ostream & output, const container::ObjectsVector < ValueType > & container );
-};
-
-template<class ValueType >
-container::ObjectsVector < ValueType > stringApi < container::ObjectsVector < ValueType > >::parse ( std::istream & input ) {
-	return container::ObjectsVector < ValueType > ( stringApi < ext::vector < ValueType > >::parse ( input ) );
-}
-
-template<class ValueType >
-bool stringApi < container::ObjectsVector < ValueType > >::first ( std::istream & input ) {
-	return stringApi < ext::vector < ValueType > >::first ( input );
-}
-
-template<class ValueType >
-void stringApi < container::ObjectsVector < ValueType > >::compose ( std::ostream & output, const container::ObjectsVector < ValueType > & container ) {
-	stringApi < ext::vector < ValueType > >::compose ( output, container );
-}
-
 } /* namespace core */
 
 #endif /* _STRING_OBJECTS_VECTOR_H_ */
diff --git a/alib2str/src/object/string/AnyObject.cpp b/alib2str/src/object/string/AnyObject.cpp
index 6716f58e792eabb6c313706da064cd7627655fde..e631229bb4a1816f1835c86b33405e6f020bef11 100644
--- a/alib2str/src/object/string/AnyObject.cpp
+++ b/alib2str/src/object/string/AnyObject.cpp
@@ -15,7 +15,6 @@
 
 namespace {
 
-static auto stringWriteGroup0 = registration::StringWriterRegisterTypeInGroup < object::Object, object::AnyObject < ext::vector < object::Object > > > ( );
 static auto stringWriteGroup2 = registration::StringWriterRegisterTypeInGroup < object::Object, object::AnyObject < ext::pair < object::Object, object::Object > > > ( );
 static auto stringWriteGroup3 = registration::StringWriterRegisterTypeInGroup < object::Object, object::AnyObject < unsigned > > ( );
 static auto stringWriteGroup4 = registration::StringWriterRegisterTypeInGroup < object::Object, object::AnyObject < ext::pair < unsigned, unsigned > > > ( );
diff --git a/alib2xml/src/container/xml/ObjectsDeque.cpp b/alib2xml/src/container/xml/ObjectsDeque.cpp
index 7adace7cec27f44e336b12d1bd70685668cbd19c..16ddb4ba10106db5a6f18c25a52f98d25d52ae79 100644
--- a/alib2xml/src/container/xml/ObjectsDeque.cpp
+++ b/alib2xml/src/container/xml/ObjectsDeque.cpp
@@ -11,9 +11,9 @@
 
 namespace {
 
-static auto xmlWrite = registration::XmlWriterRegister < container::ObjectsDeque < > > ( );
-static auto xmlReader = registration::XmlReaderRegister < container::ObjectsDeque < > > ( );
+static auto xmlWrite = registration::XmlWriterRegister < ext::deque < object::Object > > ( );
+static auto xmlReader = registration::XmlReaderRegister < ext::deque < object::Object > > ( );
 
-static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, container::ObjectsDeque < > > ( );
+static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, ext::deque < object::Object > > ( );
 
 } /* namespace */
diff --git a/alib2xml/src/container/xml/ObjectsDeque.h b/alib2xml/src/container/xml/ObjectsDeque.h
index 8b3ba13ee484ac0675f18425a1c51df12814fc9e..41856d614c3a9b915b53038c3deeef8fbf40c5f2 100644
--- a/alib2xml/src/container/xml/ObjectsDeque.h
+++ b/alib2xml/src/container/xml/ObjectsDeque.h
@@ -8,7 +8,7 @@
 #ifndef _XML_OBJECTS_DEQUE_H_
 #define _XML_OBJECTS_DEQUE_H_
 
-#include <container/ObjectsDeque.h>
+#include <alib/deque>
 #include <core/xmlApi.hpp>
 
 namespace core {
@@ -56,34 +56,6 @@ void xmlApi < ext::deque < T > >::compose ( ext::deque < sax::Token > & output,
 	output.emplace_back ( xmlTagName ( ), sax::Token::TokenType::END_ELEMENT );
 }
 
-template < typename T >
-struct xmlApi < container::ObjectsDeque < T > > {
-	static container::ObjectsDeque < T > parse ( ext::deque < sax::Token >::iterator & input );
-	static bool first ( const ext::deque < sax::Token >::const_iterator & input );
-	static const std::string & xmlTagName ( );
-	static void compose ( ext::deque < sax::Token > & output, const container::ObjectsDeque < T > & data );
-};
-
-template < typename T >
-container::ObjectsDeque < T > xmlApi < container::ObjectsDeque < T > >::parse ( ext::deque < sax::Token >::iterator & input ) {
-	return container::ObjectsDeque < T > ( xmlApi < ext::deque < T > >::parse ( input ) );
-}
-
-template < typename T >
-bool xmlApi < container::ObjectsDeque < T > >::first ( const ext::deque < sax::Token >::const_iterator & input ) {
-	return xmlApi < ext::deque < T > >::first ( input );
-}
-
-template < typename T >
-const std::string & xmlApi < container::ObjectsDeque < T > >::xmlTagName ( ) {
-	return xmlApi < ext::deque < T > >::xmlTagName ( );
-}
-
-template < typename T >
-void xmlApi < container::ObjectsDeque < T > >::compose ( ext::deque < sax::Token > & output, const container::ObjectsDeque < T > & input ) {
-	xmlApi < ext::deque < T > >::compose ( output, input );
-}
-
 } /* namespace core */
 
 #endif /* _XML_OBJECTS_DEQUE_H_ */
diff --git a/alib2xml/src/container/xml/ObjectsList.cpp b/alib2xml/src/container/xml/ObjectsList.cpp
index 11485ea5bad983bdfaf44685bdb20e97d5ed615f..0e2884717317a59d556b765a224c1b75cee0bfa3 100644
--- a/alib2xml/src/container/xml/ObjectsList.cpp
+++ b/alib2xml/src/container/xml/ObjectsList.cpp
@@ -11,9 +11,9 @@
 
 namespace {
 
-static auto xmlWrite = registration::XmlWriterRegister < container::ObjectsList < > > ( );
-static auto xmlRead = registration::XmlReaderRegister < container::ObjectsList < > > ( );
+static auto xmlWrite = registration::XmlWriterRegister < ext::list < object::Object > > ( );
+static auto xmlRead = registration::XmlReaderRegister < ext::list < object::Object > > ( );
 
-static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, container::ObjectsList < > > ( );
+static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, ext::list < object::Object > > ( );
 
 } /* namespace */
diff --git a/alib2xml/src/container/xml/ObjectsList.h b/alib2xml/src/container/xml/ObjectsList.h
index 75bc3e36a60a0be75d4c1e61ab2c418d5bbbcea5..32750c21a516cd1881afdbaadb3f022df5442899 100644
--- a/alib2xml/src/container/xml/ObjectsList.h
+++ b/alib2xml/src/container/xml/ObjectsList.h
@@ -8,7 +8,7 @@
 #ifndef _XML_OBJECTS_LIST_H_
 #define _XML_OBJECTS_LIST_H_
 
-#include <container/ObjectsList.h>
+#include <alib/list>
 #include <core/xmlApi.hpp>
 
 namespace core {
@@ -56,34 +56,6 @@ void xmlApi < ext::list < T > >::compose ( ext::deque < sax::Token > & output, c
 	output.emplace_back ( xmlTagName ( ), sax::Token::TokenType::END_ELEMENT );
 }
 
-template < typename T >
-struct xmlApi < container::ObjectsList < T > > {
-	static container::ObjectsList < T > parse ( ext::deque < sax::Token >::iterator & input );
-	static bool first ( const ext::deque < sax::Token >::const_iterator & input );
-	static const std::string & xmlTagName ( );
-	static void compose ( ext::deque < sax::Token > & output, const container::ObjectsList < T > & data );
-};
-
-template < typename T >
-container::ObjectsList < T > xmlApi < container::ObjectsList < T > >::parse ( ext::deque < sax::Token >::iterator & input ) {
-	return container::ObjectsList < T > ( xmlApi < ext::list < T > >::parse ( input ) );
-}
-
-template < typename T >
-bool xmlApi < container::ObjectsList < T > >::first ( const ext::deque < sax::Token >::const_iterator & input ) {
-	return xmlApi < ext::list < T > >::first ( input );
-}
-
-template < typename T >
-const std::string & xmlApi < container::ObjectsList < T > >::xmlTagName ( ) {
-	return xmlApi < ext::list < T > >::xmlTagName ( );
-}
-
-template < typename T >
-void xmlApi < container::ObjectsList < T > >::compose ( ext::deque < sax::Token > & output, const container::ObjectsList < T > & input ) {
-	xmlApi < ext::list < T > >::compose ( output, input );
-}
-
 } /* namespace core */
 
 #endif /* _XML_OBJECTS_LIST_H_ */
diff --git a/alib2xml/src/container/xml/ObjectsVector.cpp b/alib2xml/src/container/xml/ObjectsVector.cpp
index 7c05fbfc3b434a9ac7a44b8e9316630ec7592837..d988bc476e7362653981b34424a45dda6ca480a9 100644
--- a/alib2xml/src/container/xml/ObjectsVector.cpp
+++ b/alib2xml/src/container/xml/ObjectsVector.cpp
@@ -11,9 +11,9 @@
 
 namespace {
 
-static auto xmlWrite = registration::XmlWriterRegister < container::ObjectsVector < > > ( );
-static auto xmlRead = registration::XmlReaderRegister < container::ObjectsVector < > > ( );
+static auto xmlWrite = registration::XmlWriterRegister < ext::vector < object::Object > > ( );
+static auto xmlRead = registration::XmlReaderRegister < ext::vector < object::Object > > ( );
 
-static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, container::ObjectsVector < > > ( );
+static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, ext::vector < object::Object > > ( );
 
 } /* namespace */
diff --git a/alib2xml/src/container/xml/ObjectsVector.h b/alib2xml/src/container/xml/ObjectsVector.h
index d9c985558a2ca60839c157dcbbfa3a25efe62564..8c43c0006e0a2deba28f6238f6bc6c55e28791a2 100644
--- a/alib2xml/src/container/xml/ObjectsVector.h
+++ b/alib2xml/src/container/xml/ObjectsVector.h
@@ -8,7 +8,7 @@
 #ifndef _XML_OBJECTS_VECTOR_H_
 #define _XML_OBJECTS_VECTOR_H_
 
-#include <container/ObjectsVector.h>
+#include <alib/vector>
 #include <core/xmlApi.hpp>
 
 namespace core {
@@ -56,34 +56,6 @@ void xmlApi < ext::vector < T > >::compose ( ext::deque < sax::Token > & output,
 	output.emplace_back ( xmlTagName ( ), sax::Token::TokenType::END_ELEMENT );
 }
 
-template < typename T >
-struct xmlApi < container::ObjectsVector < T > > {
-	static container::ObjectsVector < T > parse ( ext::deque < sax::Token >::iterator & input );
-	static bool first ( const ext::deque < sax::Token >::const_iterator & input );
-	static const std::string & xmlTagName ( );
-	static void compose ( ext::deque < sax::Token > & output, const container::ObjectsVector < T > & data );
-};
-
-template < typename T >
-container::ObjectsVector < T > xmlApi < container::ObjectsVector < T > >::parse ( ext::deque < sax::Token >::iterator & input ) {
-	return container::ObjectsVector < T > ( xmlApi < ext::vector < T > >::parse ( input ) );
-}
-
-template < typename T >
-bool xmlApi < container::ObjectsVector < T > >::first ( const ext::deque < sax::Token >::const_iterator & input ) {
-	return xmlApi < ext::vector < T > >::first ( input );
-}
-
-template < typename T >
-const std::string & xmlApi < container::ObjectsVector < T > >::xmlTagName ( ) {
-	return xmlApi < ext::vector < T > >::xmlTagName ( );
-}
-
-template < typename T >
-void xmlApi < container::ObjectsVector < T > >::compose ( ext::deque < sax::Token > & output, const container::ObjectsVector < T > & input ) {
-	xmlApi < ext::vector < T > >::compose ( output, input );
-}
-
 } /* namespace core */
 
 #endif /* _XML_OBJECTS_VECTOR_H_ */