diff --git a/alib2data/src/exception/AlibException.cpp b/alib2common/src/exception/AlibException.cpp
similarity index 98%
rename from alib2data/src/exception/AlibException.cpp
rename to alib2common/src/exception/AlibException.cpp
index 491c8586bc55439b0719a65fae08ee8943444feb..3d521b1e9f5a6c6ea6e6731cf97a9c6cd5e4ed4f 100644
--- a/alib2data/src/exception/AlibException.cpp
+++ b/alib2common/src/exception/AlibException.cpp
@@ -14,7 +14,7 @@
 
 #include <execinfo.h>
 
-#include <sax/FromXMLParserHelper.h>
+#include "../sax/FromXMLParserHelper.h"
 #include "../object/Object.h"
 #include "../XmlApi.hpp"
 
diff --git a/alib2data/src/exception/AlibException.h b/alib2common/src/exception/AlibException.h
similarity index 96%
rename from alib2data/src/exception/AlibException.h
rename to alib2common/src/exception/AlibException.h
index 85609cdc1f3df12fc19624f60ae954359c82e64c..09c52bcf1aed48a39cebb603e465a6573a6a1c06 100644
--- a/alib2data/src/exception/AlibException.h
+++ b/alib2common/src/exception/AlibException.h
@@ -8,9 +8,9 @@
 #ifndef ALIB_EXCEPTION_H_
 #define ALIB_EXCEPTION_H_
 
-#include <exception/CommonException.h>
+#include "CommonException.h"
 #include <deque>
-#include <sax/Token.h>
+#include "../sax/Token.h"
 
 #include "../object/ObjectBase.h"
 
diff --git a/alib2common/src/object/ObjectBase.h b/alib2common/src/object/ObjectBase.h
index 1aa39606cf0acb2476581d0d2527722d6bc49af6..221db91ecc740fcab85ef3fdab3c1231b6b6ffc1 100644
--- a/alib2common/src/object/ObjectBase.h
+++ b/alib2common/src/object/ObjectBase.h
@@ -8,6 +8,9 @@
 #ifndef OBJECT_BASE_H_
 #define OBJECT_BASE_H_
 
+#include <deque>
+#include <memory>
+#include "../sax/Token.h"
 #include "../base/CommonBase.hpp"
 
 namespace alib {
@@ -15,8 +18,10 @@ namespace alib {
 /**
  * Represents generic object.
  */
-class ObjectBase : public alib::CommonBase<ObjectBase> {
+class ObjectBase : public alib::CommonBase<ObjectBase>, public std::cow_shared_ptr_base {
 public:
+	virtual void compose(std::deque<sax::Token>& out) const = 0;
+
 	virtual ObjectBase* clone() const = 0;
 	virtual ObjectBase* plunder() && = 0;
 };
diff --git a/alib2data/src/alphabet/BarSymbol.cpp b/alib2data/src/alphabet/BarSymbol.cpp
index b11c1022486f59ff8331c88a3f821e16aaa6ea32..1b555791f72d6b46adbd09e3481dcc52ad40dfb2 100644
--- a/alib2data/src/alphabet/BarSymbol.cpp
+++ b/alib2data/src/alphabet/BarSymbol.cpp
@@ -8,8 +8,8 @@
 #include "BarSymbol.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Symbol.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 #include "UniqueSymbol.h"
 
 namespace alphabet {
diff --git a/alib2data/src/alphabet/BlankSymbol.cpp b/alib2data/src/alphabet/BlankSymbol.cpp
index 436eaca66462e7c0d26631e671ba571c5172c385..1aa35ba7ab47e79a901aac60bc81c594a51aa636 100644
--- a/alib2data/src/alphabet/BlankSymbol.cpp
+++ b/alib2data/src/alphabet/BlankSymbol.cpp
@@ -8,8 +8,8 @@
 #include "BlankSymbol.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Symbol.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 #include "UniqueSymbol.h"
 
 namespace alphabet {
diff --git a/alib2data/src/alphabet/BottomOfTheStackSymbol.cpp b/alib2data/src/alphabet/BottomOfTheStackSymbol.cpp
index 1f2a44f2bb676e38025af9924b87d6eb31a1c089..e0f3377599484d052e72be74369f34b9967bb9b9 100644
--- a/alib2data/src/alphabet/BottomOfTheStackSymbol.cpp
+++ b/alib2data/src/alphabet/BottomOfTheStackSymbol.cpp
@@ -8,8 +8,8 @@
 #include "BottomOfTheStackSymbol.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Symbol.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 #include "UniqueSymbol.h"
 
 namespace alphabet {
diff --git a/alib2data/src/alphabet/EndSymbol.cpp b/alib2data/src/alphabet/EndSymbol.cpp
index 3dc1f0334b8bb07dd5428df4a4335c5b7da7ead1..8448b8c73b3cabf4d7219da0c01cae3da1e00b03 100644
--- a/alib2data/src/alphabet/EndSymbol.cpp
+++ b/alib2data/src/alphabet/EndSymbol.cpp
@@ -8,8 +8,8 @@
 #include "EndSymbol.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Symbol.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 #include "UniqueSymbol.h"
 
 namespace alphabet {
diff --git a/alib2data/src/alphabet/LabeledSymbol.cpp b/alib2data/src/alphabet/LabeledSymbol.cpp
index e9431758a7a43bd378802b2c5bd5e10f4a38d9b0..5cefece0e327524b14501dd0765767ba534d9082 100644
--- a/alib2data/src/alphabet/LabeledSymbol.cpp
+++ b/alib2data/src/alphabet/LabeledSymbol.cpp
@@ -8,8 +8,8 @@
 #include "LabeledSymbol.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Symbol.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace alphabet {
 
diff --git a/alib2data/src/alphabet/RankedSymbol.cpp b/alib2data/src/alphabet/RankedSymbol.cpp
index c7df8b90189bc4fbd02cf42fbb5157c7cabf29f5..3e3275049b7c62a3f13b37d369501fb19684651a 100644
--- a/alib2data/src/alphabet/RankedSymbol.cpp
+++ b/alib2data/src/alphabet/RankedSymbol.cpp
@@ -8,8 +8,8 @@
 #include "RankedSymbol.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Symbol.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace alphabet {
 
diff --git a/alib2data/src/alphabet/StartSymbol.cpp b/alib2data/src/alphabet/StartSymbol.cpp
index 497d4109457672fa045fd80646fc3278eee8a9a8..d6ece369302cd7ee1ed1aa699bba89e899f49215 100644
--- a/alib2data/src/alphabet/StartSymbol.cpp
+++ b/alib2data/src/alphabet/StartSymbol.cpp
@@ -8,8 +8,8 @@
 #include "StartSymbol.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Symbol.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 #include "UniqueSymbol.h"
 
 namespace alphabet {
diff --git a/alib2data/src/alphabet/SubtreeWildcardSymbol.cpp b/alib2data/src/alphabet/SubtreeWildcardSymbol.cpp
index 428cc6ca0888caba20a394de53686dca2884a940..b4c614c1a9bf619a5b50c74397f7aa4f7923d99c 100644
--- a/alib2data/src/alphabet/SubtreeWildcardSymbol.cpp
+++ b/alib2data/src/alphabet/SubtreeWildcardSymbol.cpp
@@ -8,8 +8,8 @@
 #include "SubtreeWildcardSymbol.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Symbol.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 #include "UniqueSymbol.h"
 
 namespace alphabet {
diff --git a/alib2data/src/alphabet/Symbol.cpp b/alib2data/src/alphabet/Symbol.cpp
index cd849195fe5ad7fec11757a5c6b5dd0a35800656..5a496295fb72ba14aeea8bdc36211457432ed962 100644
--- a/alib2data/src/alphabet/Symbol.cpp
+++ b/alib2data/src/alphabet/Symbol.cpp
@@ -8,8 +8,8 @@
 #include "Symbol.h"
 #include "LabeledSymbol.h"
 #include <climits>
-#include "../exception/AlibException.h"
-#include "../XmlApi.hpp"
+#include <exception/AlibException.h>
+#include <XmlApi.hpp>
 
 namespace alphabet {
 
diff --git a/alib2data/src/alphabet/Symbol.h b/alib2data/src/alphabet/Symbol.h
index 9b7a5e8e3b35e87999e18c6e46aaf5ec86591934..5b9a9657f26ba5b5d0b8317c010072732fdc11a2 100644
--- a/alib2data/src/alphabet/Symbol.h
+++ b/alib2data/src/alphabet/Symbol.h
@@ -8,9 +8,8 @@
 #ifndef SYMBOL_H_
 #define SYMBOL_H_
 
-#include "../object/WrapperBase.h"
+#include <base/WrapperBase.hpp>
 #include "SymbolBase.h"
-#include "../common/wrapper.hpp"
 
 #include <set>
 #include <string>
@@ -20,8 +19,8 @@ namespace alphabet {
 /**
  * Wrapper around automata.
  */
-class Symbol : public alib::wrapper < SymbolBase >, public alib::WrapperBase {
-	using alib::wrapper < SymbolBase >::wrapper;
+class Symbol : public alib::WrapperBase < SymbolBase > {
+	using alib::WrapperBase < SymbolBase >::WrapperBase;
 
 public:
 	Symbol next ( ) const;
diff --git a/alib2data/src/alphabet/SymbolBase.h b/alib2data/src/alphabet/SymbolBase.h
index 217395b7a25696fa8d3bb13b99c93aaf8d3771a7..19d3afc794722d86cc845290c6d14e852f92f706 100644
--- a/alib2data/src/alphabet/SymbolBase.h
+++ b/alib2data/src/alphabet/SymbolBase.h
@@ -8,7 +8,7 @@
 #ifndef SYMBOL_BASE_H_
 #define SYMBOL_BASE_H_
 
-#include "../object/ObjectBase.h"
+#include <object/ObjectBase.h>
 
 namespace alphabet {
 
diff --git a/alib2data/src/alphabet/SymbolPairSymbol.cpp b/alib2data/src/alphabet/SymbolPairSymbol.cpp
index 772a52da6c46473b1abe9999982bffc37763a2a7..850f15f51f4a75b69318f8a800df25ee478c21da 100644
--- a/alib2data/src/alphabet/SymbolPairSymbol.cpp
+++ b/alib2data/src/alphabet/SymbolPairSymbol.cpp
@@ -9,8 +9,8 @@
 #include <sstream>
 #include <sax/FromXMLParserHelper.h>
 #include "Symbol.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 #include "UniqueSymbol.h"
 
 namespace alphabet {
diff --git a/alib2data/src/alphabet/SymbolSetSymbol.cpp b/alib2data/src/alphabet/SymbolSetSymbol.cpp
index d1f404f350bcb09f37c238cfd5328e386e7b83d9..ecfcfb6c4b9d36f7debb230f81ef08a770fc4feb 100644
--- a/alib2data/src/alphabet/SymbolSetSymbol.cpp
+++ b/alib2data/src/alphabet/SymbolSetSymbol.cpp
@@ -8,8 +8,8 @@
 #include "SymbolSetSymbol.h"
 #include <sstream>
 #include <sax/FromXMLParserHelper.h>
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 #include "UniqueSymbol.h"
 
 namespace alphabet {
diff --git a/alib2data/src/alphabet/UniqueSymbol.cpp b/alib2data/src/alphabet/UniqueSymbol.cpp
index 85f1c2ed4a1bf509a78adf672d5b55fd4d933ebf..8a08b27443a11ad90cca5dbeb6231de6fc810665 100644
--- a/alib2data/src/alphabet/UniqueSymbol.cpp
+++ b/alib2data/src/alphabet/UniqueSymbol.cpp
@@ -9,8 +9,8 @@
 #include <sstream>
 #include <sax/FromXMLParserHelper.h>
 #include "Symbol.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace alphabet {
 
diff --git a/alib2data/src/alphabet/VariablesBarSymbol.cpp b/alib2data/src/alphabet/VariablesBarSymbol.cpp
index 17df534105ffe0c1d457582a4cd7e30e7f3be2c8..a0660e9e2b2d1cdae47de43458f9b781d1678417 100644
--- a/alib2data/src/alphabet/VariablesBarSymbol.cpp
+++ b/alib2data/src/alphabet/VariablesBarSymbol.cpp
@@ -8,8 +8,8 @@
 #include "VariablesBarSymbol.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Symbol.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 #include "UniqueSymbol.h"
 
 namespace alphabet {
diff --git a/alib2data/src/automaton/Automaton.cpp b/alib2data/src/automaton/Automaton.cpp
index 6e685e4f1382fa1a96ce533b2fbee7919812f689..e31eb826040c7f66e371cdc93fa076fcf83e148e 100644
--- a/alib2data/src/automaton/Automaton.cpp
+++ b/alib2data/src/automaton/Automaton.cpp
@@ -9,7 +9,7 @@
 #include "common/State.h"
 #include <climits>
 #include "AutomatonException.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/Automaton.h b/alib2data/src/automaton/Automaton.h
index c56bce939aa77f8cf769907dbffcd487bd038856..5ce793b3763d658fb062ce0dbe4d64aad97f081a 100644
--- a/alib2data/src/automaton/Automaton.h
+++ b/alib2data/src/automaton/Automaton.h
@@ -8,9 +8,8 @@
 #ifndef AUTOMATON_H_
 #define AUTOMATON_H_
 
-#include "../object/WrapperBase.h"
+#include <base/WrapperBase.hpp>
 #include "AutomatonBase.h"
-#include "../common/wrapper.hpp"
 
 #include "AutomatonFeatures.h"
 #include <set>
@@ -20,8 +19,8 @@ namespace automaton {
 /**
  * Wrapper around automata.
  */
-class Automaton : public alib::wrapper < AutomatonBase >, public alib::WrapperBase {
-	using alib::wrapper < AutomatonBase >::wrapper;
+class Automaton : public alib::WrapperBase < AutomatonBase > {
+	using alib::WrapperBase < AutomatonBase >::WrapperBase;
 
 public:
 	const static std::string XML_TAG_NAME_REF;
diff --git a/alib2data/src/automaton/AutomatonBase.h b/alib2data/src/automaton/AutomatonBase.h
index ea29128a016abac6e79fea553198ca521d20e249..4a81e4886da8448459cb7e4556fb807d0bfda579 100644
--- a/alib2data/src/automaton/AutomatonBase.h
+++ b/alib2data/src/automaton/AutomatonBase.h
@@ -8,8 +8,7 @@
 #ifndef AUTOMATON_BASE_H_
 #define AUTOMATON_BASE_H_
 
-#include "../object/ObjectBase.h"
-#include "../exception/AlibException.h"
+#include <object/ObjectBase.h>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/AutomatonException.h b/alib2data/src/automaton/AutomatonException.h
index 99ad76507939843c952f3b662c77b8790be0c406..5d3a2039a934f119a7afaff39aec686428f97779 100644
--- a/alib2data/src/automaton/AutomatonException.h
+++ b/alib2data/src/automaton/AutomatonException.h
@@ -8,7 +8,7 @@
 #ifndef AUTOMATON_EXCEPTION_H_
 #define AUTOMATON_EXCEPTION_H_
 
-#include "../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/FSM/CompactNFA.cpp b/alib2data/src/automaton/FSM/CompactNFA.cpp
index f282fd6f37896cdcea2c8a5bebb54c419753d203..1643f72c75a9544370d4cd85ca64117e1d1c527b 100644
--- a/alib2data/src/automaton/FSM/CompactNFA.cpp
+++ b/alib2data/src/automaton/FSM/CompactNFA.cpp
@@ -19,9 +19,9 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/FSM/DFA.cpp b/alib2data/src/automaton/FSM/DFA.cpp
index c3a13a53c35ed45f72ddf22935222aeb60f057c8..4bd23c2ca675612e720b0984113d12b0ea36f91e 100644
--- a/alib2data/src/automaton/FSM/DFA.cpp
+++ b/alib2data/src/automaton/FSM/DFA.cpp
@@ -14,8 +14,8 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/FSM/EpsilonNFA.cpp b/alib2data/src/automaton/FSM/EpsilonNFA.cpp
index 6161c200f208a2fae0a630bb3cf75d338a96f357..0b9650f32711fac3c2372a8c014b761bd76cf37e 100644
--- a/alib2data/src/automaton/FSM/EpsilonNFA.cpp
+++ b/alib2data/src/automaton/FSM/EpsilonNFA.cpp
@@ -18,9 +18,9 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/FSM/ExtendedNFA.cpp b/alib2data/src/automaton/FSM/ExtendedNFA.cpp
index bdc232762b4b20f37c31f2377252e6a822dbcfb1..225c48e1fd8ab450c93878c789cee47c104c8eab 100644
--- a/alib2data/src/automaton/FSM/ExtendedNFA.cpp
+++ b/alib2data/src/automaton/FSM/ExtendedNFA.cpp
@@ -22,9 +22,9 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/FSM/MultiInitialStateNFA.cpp b/alib2data/src/automaton/FSM/MultiInitialStateNFA.cpp
index c8f29e846d951aced2152a2f7f0b1a9b5255834e..80dcbd1b452fe1e1a3a49ecea449ba77ebe8780f 100644
--- a/alib2data/src/automaton/FSM/MultiInitialStateNFA.cpp
+++ b/alib2data/src/automaton/FSM/MultiInitialStateNFA.cpp
@@ -16,9 +16,9 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/FSM/NFA.cpp b/alib2data/src/automaton/FSM/NFA.cpp
index 3d938927fdd050890efc52cf116cbe55a8309f58..a1e5f0f8c37ac46cd05ff5d0e3e56cbb21c9a949 100644
--- a/alib2data/src/automaton/FSM/NFA.cpp
+++ b/alib2data/src/automaton/FSM/NFA.cpp
@@ -14,9 +14,9 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/PDA/DPDA.cpp b/alib2data/src/automaton/PDA/DPDA.cpp
index e2f2b614315292ddfe024e390b39d73aa39aeed9..043c549501b94aefbc1a57a8af401c3f4c245603 100644
--- a/alib2data/src/automaton/PDA/DPDA.cpp
+++ b/alib2data/src/automaton/PDA/DPDA.cpp
@@ -14,9 +14,9 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/PDA/InputDrivenDPDA.cpp b/alib2data/src/automaton/PDA/InputDrivenDPDA.cpp
index 92f5f06c97efa96b419726e4a8b8ac82db57dfc0..459e45a3afba2087cbd6dee6d77c849b45861943 100644
--- a/alib2data/src/automaton/PDA/InputDrivenDPDA.cpp
+++ b/alib2data/src/automaton/PDA/InputDrivenDPDA.cpp
@@ -15,8 +15,8 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/PDA/InputDrivenNPDA.cpp b/alib2data/src/automaton/PDA/InputDrivenNPDA.cpp
index 0465db8582e50e92271962d30cfd65bfa6567a70..252db941030bcdd0d5c11dfe70766111641156c1 100644
--- a/alib2data/src/automaton/PDA/InputDrivenNPDA.cpp
+++ b/alib2data/src/automaton/PDA/InputDrivenNPDA.cpp
@@ -15,8 +15,8 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/PDA/NPDA.cpp b/alib2data/src/automaton/PDA/NPDA.cpp
index 461e7cf24bbce7aa76bb72de300f60b23ecce550..ce3d3249dd1a39b9914cc3e2e18a90893ac7f42e 100644
--- a/alib2data/src/automaton/PDA/NPDA.cpp
+++ b/alib2data/src/automaton/PDA/NPDA.cpp
@@ -14,9 +14,9 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.cpp b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.cpp
index 837bb436f97ae44465d90891c681899afcaa1704..c87326c1c321367f68490aa4087dad9c73392346 100644
--- a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.cpp
+++ b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.cpp
@@ -14,9 +14,9 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.cpp b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.cpp
index 827fb806afe5ff1b12e479c17ce91e5e718c9a33..a8224926a7b2bcdc76cb9d8e2dabb20830051922 100644
--- a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.cpp
+++ b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.cpp
@@ -14,9 +14,9 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/PDA/SinglePopDPDA.cpp b/alib2data/src/automaton/PDA/SinglePopDPDA.cpp
index d803e7992ace31c52e0a5f4d058f0080552f5ec0..5b25192b2776cb6ddb1831be6252e7bf7fa99557 100644
--- a/alib2data/src/automaton/PDA/SinglePopDPDA.cpp
+++ b/alib2data/src/automaton/PDA/SinglePopDPDA.cpp
@@ -15,8 +15,8 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/PDA/SinglePopNPDA.cpp b/alib2data/src/automaton/PDA/SinglePopNPDA.cpp
index 4cbb5b9dc5e48bdc33fdf5aa9f310ef35e04ecb2..69c2ad96cc927a5c86fb7029250f249519a29075 100644
--- a/alib2data/src/automaton/PDA/SinglePopNPDA.cpp
+++ b/alib2data/src/automaton/PDA/SinglePopNPDA.cpp
@@ -14,8 +14,8 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.cpp b/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.cpp
index bb54c8ddcfb6c869dbea5fceee1edfc28841c0ae..5bc11b7d4c56bb52e79f72e35147325d440c2474 100644
--- a/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.cpp
+++ b/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.cpp
@@ -14,8 +14,8 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.cpp b/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.cpp
index e3ecf53f8efb610555a4539eae76646f243bd47f..947032c8298bad913b9458ac496c1563405a6d8c 100644
--- a/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.cpp
+++ b/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.cpp
@@ -14,8 +14,8 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/TA/DFTA.cpp b/alib2data/src/automaton/TA/DFTA.cpp
index b019786bb72722cb4e454c170f077f78eb914d54..a22ace81f323a1c6b3c7043ef808b252d28a4875 100644
--- a/alib2data/src/automaton/TA/DFTA.cpp
+++ b/alib2data/src/automaton/TA/DFTA.cpp
@@ -14,8 +14,8 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/TA/NFTA.cpp b/alib2data/src/automaton/TA/NFTA.cpp
index c7f480fcc055cd20e1920a24abb0e0f7f8a7e59e..eaf4b4b6e6985f81250da72b7db04ac89a0c11a8 100644
--- a/alib2data/src/automaton/TA/NFTA.cpp
+++ b/alib2data/src/automaton/TA/NFTA.cpp
@@ -14,8 +14,8 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/TM/OneTapeDTM.cpp b/alib2data/src/automaton/TM/OneTapeDTM.cpp
index 84a3d20e2f91ad5c4b67e58aa5f70c8e354bf6d8..fe03a222c440f026027335cbf15f35ee654ecaa3 100644
--- a/alib2data/src/automaton/TM/OneTapeDTM.cpp
+++ b/alib2data/src/automaton/TM/OneTapeDTM.cpp
@@ -13,8 +13,8 @@
 #include "../common/AutomatonFromXMLParser.h"
 #include "../common/AutomatonToXMLComposer.h"
 #include "../Automaton.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/common/AutomatonFromXMLParser.cpp b/alib2data/src/automaton/common/AutomatonFromXMLParser.cpp
index 3718cf983572ab0885568740ca8ab510278a74e3..1dafb9b6c2a64e99d0be02d90410c1e0f0667c19 100644
--- a/alib2data/src/automaton/common/AutomatonFromXMLParser.cpp
+++ b/alib2data/src/automaton/common/AutomatonFromXMLParser.cpp
@@ -7,7 +7,7 @@
 
 #include "AutomatonFromXMLParser.h"
 #include <sax/ParserException.h>
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 #include "../../alphabet/RankedSymbol.h"
 #include "Shift.h"
 #include "../../string/StringClasses.h"
diff --git a/alib2data/src/automaton/common/AutomatonToXMLComposer.cpp b/alib2data/src/automaton/common/AutomatonToXMLComposer.cpp
index f70ed39e302dfc575e7b6d76d62deb9c088a0dff..16777ba68972f4083ba0b9c9cb57423009a5a9de 100644
--- a/alib2data/src/automaton/common/AutomatonToXMLComposer.cpp
+++ b/alib2data/src/automaton/common/AutomatonToXMLComposer.cpp
@@ -7,7 +7,7 @@
 
 #include "AutomatonToXMLComposer.h"
 
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 #include "State.h"
 #include "../../alphabet/RankedSymbol.h"
 #include "Shift.h"
diff --git a/alib2data/src/automaton/common/State.cpp b/alib2data/src/automaton/common/State.cpp
index 38e84dac120873ec34501bc49ad90cbc9f14b1ea..c0ea30534abebe4fc2f317d94bf9be6c627405bc 100644
--- a/alib2data/src/automaton/common/State.cpp
+++ b/alib2data/src/automaton/common/State.cpp
@@ -7,7 +7,7 @@
 
 #include "State.h"
 #include "../../label/Label.h"
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/automaton/common/State.h b/alib2data/src/automaton/common/State.h
index 75e62adbcc7ccd800489bed38d347bf0e0cc36ae..4a736262967403d4779a8484d2a4c2dc6c949bb8 100644
--- a/alib2data/src/automaton/common/State.h
+++ b/alib2data/src/automaton/common/State.h
@@ -12,7 +12,7 @@
 #include <ostream>
 
 #include "../../label/Label.h"
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace automaton {
 
diff --git a/alib2data/src/container/Container.cpp b/alib2data/src/container/Container.cpp
index 4eb3b870b5c3b492333953fd5c2bdb485333360a..6a2f320adf6db7fb101517a6f87ea2f7ab808413 100644
--- a/alib2data/src/container/Container.cpp
+++ b/alib2data/src/container/Container.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "Container.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace container {
 
diff --git a/alib2data/src/container/Container.h b/alib2data/src/container/Container.h
index 1a91cbe22e0b885da73205ecc58373003a64293d..0688c98a3a525527f3206d8ce409904dd68eb556 100644
--- a/alib2data/src/container/Container.h
+++ b/alib2data/src/container/Container.h
@@ -8,17 +8,16 @@
 #ifndef CONTAINER_H_
 #define CONTAINER_H_
 
-#include "../object/WrapperBase.h"
+#include <base/WrapperBase.hpp>
 #include "ContainerBase.h"
-#include "../common/wrapper.hpp"
 
 namespace container {
 
 /**
  * Wrapper around containers.
  */
-class Container : public alib::wrapper < ContainerBase >, public alib::WrapperBase {
-	using alib::wrapper < ContainerBase >::wrapper;
+class Container : public alib::WrapperBase < ContainerBase > {
+	using alib::WrapperBase < ContainerBase >::WrapperBase;
 
 public:
 	const static std::string XML_TAG_NAME_REF;
diff --git a/alib2data/src/container/ContainerBase.h b/alib2data/src/container/ContainerBase.h
index cbfa54bd744864e37625a2fa04e9837a24898a4d..a7e68fc660e8475b58d0d5113269992ae75b600f 100644
--- a/alib2data/src/container/ContainerBase.h
+++ b/alib2data/src/container/ContainerBase.h
@@ -8,7 +8,7 @@
 #ifndef CONTAINER_BASE_H_
 #define CONTAINER_BASE_H_
 
-#include "../object/ObjectBase.h"
+#include <object/ObjectBase.h>
 
 namespace container {
 
diff --git a/alib2data/src/container/ObjectsDeque.cpp b/alib2data/src/container/ObjectsDeque.cpp
index e8cd516e22261c7f879e96be294e40f589e4675e..cf3aa8d06803a78f94a6301c3fde9790fe9c6bb8 100644
--- a/alib2data/src/container/ObjectsDeque.cpp
+++ b/alib2data/src/container/ObjectsDeque.cpp
@@ -8,7 +8,7 @@
 #include "ObjectsDeque.h"
 
 #include "Container.h"
-#include "../object/Object.h"
+#include <object/Object.h>
 #include <sstream>
 
 namespace container {
diff --git a/alib2data/src/container/ObjectsDeque.h b/alib2data/src/container/ObjectsDeque.h
index e48cb2581f8c359fc4422ae1f11e768011ec61c6..7f9943fe102edb2b6b1ae442cb396dce98944965 100644
--- a/alib2data/src/container/ObjectsDeque.h
+++ b/alib2data/src/container/ObjectsDeque.h
@@ -11,10 +11,10 @@
 #include <deque>
 #include <string>
 
-#include "../object/Object.h"
+#include <object/Object.h>
 #include "ContainerBase.h"
 
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace container {
 
diff --git a/alib2data/src/container/ObjectsList.cpp b/alib2data/src/container/ObjectsList.cpp
index c55c5936a4695636fd097c0e2bca91443e3c8a3f..7beb376796315e64afd709360cbf01af874d9220 100644
--- a/alib2data/src/container/ObjectsList.cpp
+++ b/alib2data/src/container/ObjectsList.cpp
@@ -8,7 +8,7 @@
 #include "ObjectsList.h"
 
 #include "Container.h"
-#include "../object/Object.h"
+#include <object/Object.h>
 #include <sstream>
 
 namespace container {
diff --git a/alib2data/src/container/ObjectsList.h b/alib2data/src/container/ObjectsList.h
index 3e851b7ba9a61374de5e912cc059222518b4f2aa..fb9e36ce401df1fde11745eb295d7574bcb3aae3 100644
--- a/alib2data/src/container/ObjectsList.h
+++ b/alib2data/src/container/ObjectsList.h
@@ -11,10 +11,10 @@
 #include <list>
 #include <string>
 
-#include "../object/Object.h"
+#include <object/Object.h>
 #include "ContainerBase.h"
 
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace container {
 
diff --git a/alib2data/src/container/ObjectsMap.cpp b/alib2data/src/container/ObjectsMap.cpp
index 35bb179915ae057144dbafa6259e0703f491568c..b508a919b1c975ced9c07f961309b40abdfd39ff 100644
--- a/alib2data/src/container/ObjectsMap.cpp
+++ b/alib2data/src/container/ObjectsMap.cpp
@@ -10,8 +10,8 @@
 #include <sstream>
 
 #include "Container.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace container {
 
diff --git a/alib2data/src/container/ObjectsMap.h b/alib2data/src/container/ObjectsMap.h
index 178d30ae9e8247b3d034733dacaf6de465acd5a8..ee35c546b7b191d418fffb7a16d5de32ca3f00b5 100644
--- a/alib2data/src/container/ObjectsMap.h
+++ b/alib2data/src/container/ObjectsMap.h
@@ -11,11 +11,11 @@
 #include <map>
 #include <string>
 
-#include "../object/Object.h"
+#include <object/Object.h>
 #include "ContainerBase.h"
 #include "ObjectsPair.h"
 
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace container {
 
diff --git a/alib2data/src/container/ObjectsPair.cpp b/alib2data/src/container/ObjectsPair.cpp
index 96bd7ef76217c4d4b77089eb37153fd17eec9f79..a1e249a72691f167c2ccc1264213f7babb142692 100644
--- a/alib2data/src/container/ObjectsPair.cpp
+++ b/alib2data/src/container/ObjectsPair.cpp
@@ -10,8 +10,8 @@
 #include <sstream>
 
 #include "Container.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace container {
 
diff --git a/alib2data/src/container/ObjectsPair.h b/alib2data/src/container/ObjectsPair.h
index aafd12c5e30440e3916e601c9598e55488c467cf..d9e04d8c5600d2242978fa1b6eab6a164ab04f5d 100644
--- a/alib2data/src/container/ObjectsPair.h
+++ b/alib2data/src/container/ObjectsPair.h
@@ -11,10 +11,10 @@
 #include <pair>
 #include <string>
 
-#include "../object/Object.h"
+#include <object/Object.h>
 #include "ContainerBase.h"
 
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace container {
 
diff --git a/alib2data/src/container/ObjectsSet.cpp b/alib2data/src/container/ObjectsSet.cpp
index d2efe1a2e84b9ecca37f286195a26fb99e4c5b91..9bf5cd8aff77146b09335b88968a2bd8d30bd8e5 100644
--- a/alib2data/src/container/ObjectsSet.cpp
+++ b/alib2data/src/container/ObjectsSet.cpp
@@ -8,7 +8,7 @@
 #include "ObjectsSet.h"
 
 #include "Container.h"
-#include "../object/Object.h"
+#include <object/Object.h>
 #include <sstream>
 
 namespace container {
diff --git a/alib2data/src/container/ObjectsSet.h b/alib2data/src/container/ObjectsSet.h
index af31ce951fd91dae5b07ddf69a64099909cfbf46..c17fc147cd280961bbede9b2c54d935fc1a1fb83 100644
--- a/alib2data/src/container/ObjectsSet.h
+++ b/alib2data/src/container/ObjectsSet.h
@@ -11,10 +11,10 @@
 #include <set>
 #include <string>
 
-#include "../object/Object.h"
+#include <object/Object.h>
 #include "ContainerBase.h"
 
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace container {
 
diff --git a/alib2data/src/container/ObjectsVariant.h b/alib2data/src/container/ObjectsVariant.h
index a400e58951313cf725838e430bbf7a5f29ec5bbb..2cda0823646085a48265a54d6415db150cf27bd7 100644
--- a/alib2data/src/container/ObjectsVariant.h
+++ b/alib2data/src/container/ObjectsVariant.h
@@ -11,8 +11,8 @@
 #include <variant>
 #include <string>
 
-#include "../XmlApi.hpp"
-#include "../exception/AlibException.h"
+#include <XmlApi.hpp>
+#include <exception/AlibException.h>
 
 namespace container {
 
diff --git a/alib2data/src/container/ObjectsVector.cpp b/alib2data/src/container/ObjectsVector.cpp
index 6605b1449d685f076499c8a321dbbd80a15c342d..8253e946f9266e2e1dc0b7f7230df0d654e61ca0 100644
--- a/alib2data/src/container/ObjectsVector.cpp
+++ b/alib2data/src/container/ObjectsVector.cpp
@@ -8,7 +8,7 @@
 #include "ObjectsVector.h"
 
 #include "Container.h"
-#include "../object/Object.h"
+#include <object/Object.h>
 #include <sstream>
 
 namespace container {
diff --git a/alib2data/src/container/ObjectsVector.h b/alib2data/src/container/ObjectsVector.h
index 83bbf8edf6890a71be17add9708eb93e68f0a900..56bc43ca39e5dc9cf94e335151fd2550baa0bd77 100644
--- a/alib2data/src/container/ObjectsVector.h
+++ b/alib2data/src/container/ObjectsVector.h
@@ -11,10 +11,10 @@
 #include <vector>
 #include <string>
 
-#include "../object/Object.h"
+#include <object/Object.h>
 #include "ContainerBase.h"
 
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace container {
 
diff --git a/alib2data/src/exception/ExceptionClasses.h b/alib2data/src/exception/ExceptionClasses.h
deleted file mode 100644
index 67592b494be65d1b4d767bb612693bdd77e76fe3..0000000000000000000000000000000000000000
--- a/alib2data/src/exception/ExceptionClasses.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * ExceptionClasses.h
- *
- *  Created on: Jun 19, 2014
- *      Author: Jan Travnicek
- */
-
-#ifndef EXCEPTION_CLASSES_H_
-#define EXCEPTION_CLASSES_H_
-
-#include "AlibException.h"
-
-#endif /* EXCEPTION_CLASSES_H_ */
diff --git a/alib2data/src/exception/ExceptionFeatures.h b/alib2data/src/exception/ExceptionFeatures.h
deleted file mode 100644
index f780986bb90b21f5f7ce5962d14bb81391b6062f..0000000000000000000000000000000000000000
--- a/alib2data/src/exception/ExceptionFeatures.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * ExceptionFeatures.h
- *
- *  Created on: Jun 19, 2014
- *      Author: Jan Travnicek
- */
-
-#ifndef EXCEPTION_FEATURES_H_
-#define EXCEPTION_FEATURES_H_
-
-namespace exception {
-
-enum class FEATURES {
-	ALIB_EXCEPTION
-};
-
-class AlibException;
-
-} /* namespace exception */
-
-#endif /* EXCEPTION_FEATURES_H_ */
diff --git a/alib2data/src/factory/XmlDataFactory.hpp b/alib2data/src/factory/XmlDataFactory.hpp
index d8ce4f8102e657c6fb02634c4c3e0c39195ac58c..9ec05921ae087f9617a2ee9820147a8e8f07f62e 100644
--- a/alib2data/src/factory/XmlDataFactory.hpp
+++ b/alib2data/src/factory/XmlDataFactory.hpp
@@ -15,8 +15,8 @@
 #include <sax/Token.h>
 #include <sax/SaxParseInterface.h>
 #include <sax/SaxComposeInterface.h>
-#include "../XmlApi.hpp"
-#include "../exception/AlibException.h"
+#include <XmlApi.hpp>
+#include <exception/AlibException.h>
 
 namespace alib {
 
diff --git a/alib2data/src/grammar/ContextFree/CFG.cpp b/alib2data/src/grammar/ContextFree/CFG.cpp
index 3b2bcee195940920112101a865f7c1741318389b..182ee502b628de941ad699c047cdba6237b91607 100644
--- a/alib2data/src/grammar/ContextFree/CFG.cpp
+++ b/alib2data/src/grammar/ContextFree/CFG.cpp
@@ -16,9 +16,9 @@
 #include "../common/GrammarFromXMLParser.h"
 #include "../common/GrammarToXMLComposer.h"
 #include "../Grammar.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/ContextFree/CNF.cpp b/alib2data/src/grammar/ContextFree/CNF.cpp
index 763425b888a722497eb859d0dd6d1a6e868c5258..ef3a78fbd611fca7d6dc234016724f3610e66c12 100644
--- a/alib2data/src/grammar/ContextFree/CNF.cpp
+++ b/alib2data/src/grammar/ContextFree/CNF.cpp
@@ -16,8 +16,8 @@
 #include "../common/GrammarFromXMLParser.h"
 #include "../common/GrammarToXMLComposer.h"
 #include "../Grammar.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.cpp b/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.cpp
index 979e8b72d476e47a76714e4a6236a8cceb27348f..3bdf501495d40a8f885883708e127094d28f9f49 100644
--- a/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.cpp
+++ b/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.cpp
@@ -16,8 +16,8 @@
 #include "../common/GrammarFromXMLParser.h"
 #include "../common/GrammarToXMLComposer.h"
 #include "../Grammar.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/ContextFree/GNF.cpp b/alib2data/src/grammar/ContextFree/GNF.cpp
index 3e819629dca86a9ee42e4c83b68bb46c3d3b9fdc..f1d4562f0719482dedf5aca809e7dfce6d650350 100644
--- a/alib2data/src/grammar/ContextFree/GNF.cpp
+++ b/alib2data/src/grammar/ContextFree/GNF.cpp
@@ -16,8 +16,8 @@
 #include "../common/GrammarFromXMLParser.h"
 #include "../common/GrammarToXMLComposer.h"
 #include "../Grammar.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/ContextFree/LG.cpp b/alib2data/src/grammar/ContextFree/LG.cpp
index c8db64a1ec79cee56aeb46d6cce3c3dd0e0072df..2a000a25d26cf9e714827aafea2f5f4c5968aebd 100644
--- a/alib2data/src/grammar/ContextFree/LG.cpp
+++ b/alib2data/src/grammar/ContextFree/LG.cpp
@@ -16,8 +16,8 @@
 #include "../common/GrammarFromXMLParser.h"
 #include "../common/GrammarToXMLComposer.h"
 #include "../Grammar.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/ContextSensitive/CSG.cpp b/alib2data/src/grammar/ContextSensitive/CSG.cpp
index ccf68cb7ecaf497a9d0116a8c825bcd1acc72b8f..4df47db8e507d15db722e3e4ec4ce3825517a03f 100644
--- a/alib2data/src/grammar/ContextSensitive/CSG.cpp
+++ b/alib2data/src/grammar/ContextSensitive/CSG.cpp
@@ -16,8 +16,8 @@
 #include "../common/GrammarFromXMLParser.h"
 #include "../common/GrammarToXMLComposer.h"
 #include "../Grammar.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/ContextSensitive/NonContractingGrammar.cpp b/alib2data/src/grammar/ContextSensitive/NonContractingGrammar.cpp
index 4b101a905bfba560c75236cc36eaf9c84dd73209..073124593e421e78be8b982ae64c7a0fbd546e92 100644
--- a/alib2data/src/grammar/ContextSensitive/NonContractingGrammar.cpp
+++ b/alib2data/src/grammar/ContextSensitive/NonContractingGrammar.cpp
@@ -16,8 +16,8 @@
 #include "../common/GrammarFromXMLParser.h"
 #include "../common/GrammarToXMLComposer.h"
 #include "../Grammar.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/Grammar.cpp b/alib2data/src/grammar/Grammar.cpp
index d59b45ff506731e90d69f22ea5c9c3286eb14836..4f37b12ecbddaaba8ae67953c951d834b8d1e3d6 100644
--- a/alib2data/src/grammar/Grammar.cpp
+++ b/alib2data/src/grammar/Grammar.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "Grammar.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/Grammar.h b/alib2data/src/grammar/Grammar.h
index ccb469d52c82436542f07919b9000a55d21276ca..f0afab20a28479e1a676ddf3b175c418dab8a816 100644
--- a/alib2data/src/grammar/Grammar.h
+++ b/alib2data/src/grammar/Grammar.h
@@ -8,17 +8,16 @@
 #ifndef GRAMMAR_H_
 #define GRAMMAR_H_
 
-#include "../object/WrapperBase.h"
+#include <base/WrapperBase.hpp>
 #include "GrammarBase.h"
-#include "../common/wrapper.hpp"
 
 namespace grammar {
 
 /**
  * Wrapper around grammars.
  */
-class Grammar : public alib::wrapper < GrammarBase >, public alib::WrapperBase {
-	using alib::wrapper < GrammarBase >::wrapper;
+class Grammar : public alib::WrapperBase < GrammarBase > {
+	using alib::WrapperBase < GrammarBase >::WrapperBase;
 
 public:
 	const static std::string XML_TAG_NAME_REF;
diff --git a/alib2data/src/grammar/GrammarBase.h b/alib2data/src/grammar/GrammarBase.h
index 7e9bd58504478d961cf92c21be504ee58fec1a14..ef73aff61c972c75d367b414b73436f25d03bf07 100644
--- a/alib2data/src/grammar/GrammarBase.h
+++ b/alib2data/src/grammar/GrammarBase.h
@@ -8,8 +8,7 @@
 #ifndef GRAMMAR_BASE_H_
 #define GRAMMAR_BASE_H_
 
-#include "../object/ObjectBase.h"
-#include "../exception/AlibException.h"
+#include <object/ObjectBase.h>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/GrammarException.h b/alib2data/src/grammar/GrammarException.h
index 6977f57a56ba0c51baa681948f8f5ad5ba0f66fc..924584c48dd3d27c92f0adb6976dc5ffec806519 100644
--- a/alib2data/src/grammar/GrammarException.h
+++ b/alib2data/src/grammar/GrammarException.h
@@ -8,7 +8,7 @@
 #ifndef GRAMMAR_EXCEPTION_H_
 #define GRAMMAR_EXCEPTION_H_
 
-#include "../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/Regular/LeftLG.cpp b/alib2data/src/grammar/Regular/LeftLG.cpp
index 4e2225df04bc32a17ac3bc51fb7f36f5ca95782d..3f4ccd5546d8e80b165ad67fa2cb78d23a09aace 100644
--- a/alib2data/src/grammar/Regular/LeftLG.cpp
+++ b/alib2data/src/grammar/Regular/LeftLG.cpp
@@ -16,8 +16,8 @@
 #include "../common/GrammarFromXMLParser.h"
 #include "../common/GrammarToXMLComposer.h"
 #include "../Grammar.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/Regular/LeftRG.cpp b/alib2data/src/grammar/Regular/LeftRG.cpp
index 5c4736934f629794d2bc54696495b11b873e1fac..b3c5d7ff32892fdcc6ec7e7841fb3ddd6ee2e05c 100644
--- a/alib2data/src/grammar/Regular/LeftRG.cpp
+++ b/alib2data/src/grammar/Regular/LeftRG.cpp
@@ -16,8 +16,8 @@
 #include "../common/GrammarFromXMLParser.h"
 #include "../common/GrammarToXMLComposer.h"
 #include "../Grammar.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/Regular/RightLG.cpp b/alib2data/src/grammar/Regular/RightLG.cpp
index 6dbac5ca0c3a3497aa199802cff02c265db07d59..5957b54295cca69773fbdf0ad6af270c386d244c 100644
--- a/alib2data/src/grammar/Regular/RightLG.cpp
+++ b/alib2data/src/grammar/Regular/RightLG.cpp
@@ -16,8 +16,8 @@
 #include "../common/GrammarFromXMLParser.h"
 #include "../common/GrammarToXMLComposer.h"
 #include "../Grammar.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/Regular/RightRG.cpp b/alib2data/src/grammar/Regular/RightRG.cpp
index 9a41042529c7c9639b046d1e1ebdcac6e669d0f7..724833e800c726908f25c684c37a057e1beb2862 100644
--- a/alib2data/src/grammar/Regular/RightRG.cpp
+++ b/alib2data/src/grammar/Regular/RightRG.cpp
@@ -16,8 +16,8 @@
 #include "../common/GrammarFromXMLParser.h"
 #include "../common/GrammarToXMLComposer.h"
 #include "../Grammar.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/Unrestricted/ContextPreservingUnrestrictedGrammar.cpp b/alib2data/src/grammar/Unrestricted/ContextPreservingUnrestrictedGrammar.cpp
index fe6872e04ba3a4ced251f4ca507afdfa659175c6..1cd8fdb7cf3f2fde445eb9d1d604c9fd5a99fe3a 100644
--- a/alib2data/src/grammar/Unrestricted/ContextPreservingUnrestrictedGrammar.cpp
+++ b/alib2data/src/grammar/Unrestricted/ContextPreservingUnrestrictedGrammar.cpp
@@ -16,8 +16,8 @@
 #include "../common/GrammarFromXMLParser.h"
 #include "../common/GrammarToXMLComposer.h"
 #include "../Grammar.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/Unrestricted/UnrestrictedGrammar.cpp b/alib2data/src/grammar/Unrestricted/UnrestrictedGrammar.cpp
index 4df2ccf63854cbfbfbac4a95a1bf40fd2ce3f24b..93230a838a212768a38dcb288d801ad0960868cc 100644
--- a/alib2data/src/grammar/Unrestricted/UnrestrictedGrammar.cpp
+++ b/alib2data/src/grammar/Unrestricted/UnrestrictedGrammar.cpp
@@ -16,8 +16,8 @@
 #include "../common/GrammarFromXMLParser.h"
 #include "../common/GrammarToXMLComposer.h"
 #include "../Grammar.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/grammar/common/GrammarFromXMLParser.cpp b/alib2data/src/grammar/common/GrammarFromXMLParser.cpp
index 75b8ca67f4662b694de62413f8546ac962a0f4db..5ac49a0daa83934dbbdab5138f1f2602d617446c 100644
--- a/alib2data/src/grammar/common/GrammarFromXMLParser.cpp
+++ b/alib2data/src/grammar/common/GrammarFromXMLParser.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "GrammarFromXMLParser.h"
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 #include <sax/ParserException.h>
 #include "../../alphabet/Symbol.h"
 
diff --git a/alib2data/src/grammar/common/GrammarToXMLComposer.cpp b/alib2data/src/grammar/common/GrammarToXMLComposer.cpp
index 5482e205870138042624a6682b51f34d8cab3ac7..bb90dca86d78320ebad09b05876c1b72276b8e66 100644
--- a/alib2data/src/grammar/common/GrammarToXMLComposer.cpp
+++ b/alib2data/src/grammar/common/GrammarToXMLComposer.cpp
@@ -7,7 +7,7 @@
 
 #include "GrammarToXMLComposer.h"
 
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 #include "../../alphabet/Symbol.h"
 
 namespace grammar {
diff --git a/alib2data/src/grammar/common/TerminalNonterminalAlphabetInitialSymbol.cpp b/alib2data/src/grammar/common/TerminalNonterminalAlphabetInitialSymbol.cpp
index f5871fc07ed207b6570b28fe036b45a2e138e826..c9c6634c98e0b5c484ac0e5e03b46a981616b15d 100644
--- a/alib2data/src/grammar/common/TerminalNonterminalAlphabetInitialSymbol.cpp
+++ b/alib2data/src/grammar/common/TerminalNonterminalAlphabetInitialSymbol.cpp
@@ -15,7 +15,7 @@
 #include <algorithm>
 #include <iostream>
 
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace grammar {
 
diff --git a/alib2data/src/graph/Graph.cpp b/alib2data/src/graph/Graph.cpp
index 452bde3a6ee40366e57093ff6a473972227d2dea..71f0a98c126b2e54235c312f56fc7ff5885a38cb 100644
--- a/alib2data/src/graph/Graph.cpp
+++ b/alib2data/src/graph/Graph.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "Graph.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace graph {
 
diff --git a/alib2data/src/graph/Graph.h b/alib2data/src/graph/Graph.h
index ad6ffbe63661399062870b39a3592a5a24a3ddc4..349666b752297030d1735bcc74fd141ebcd11855 100644
--- a/alib2data/src/graph/Graph.h
+++ b/alib2data/src/graph/Graph.h
@@ -8,15 +8,14 @@
 #ifndef GRAPH_H_
 #define GRAPH_H_
 
-#include "../object/WrapperBase.h"
+#include <base/WrapperBase.hpp>
 #include "GraphBase.h"
-#include "../common/wrapper.hpp"
 
 namespace graph {
 
  // Wrapper around graphs.
-class Graph : public alib::wrapper < GraphBase >, public alib::WrapperBase {
-	using alib::wrapper < GraphBase >::wrapper;
+class Graph : public alib::WrapperBase < GraphBase > {
+	using alib::WrapperBase < GraphBase >::WrapperBase;
 
 public:
 	const static std::string XML_TAG_NAME_REF;
diff --git a/alib2data/src/graph/GraphBase.h b/alib2data/src/graph/GraphBase.h
index 595ffd9f984e4fb3f270d03d6b80925611fb3893..b1e1beaebd30ca806f124586664ddb2ff34e0b8d 100644
--- a/alib2data/src/graph/GraphBase.h
+++ b/alib2data/src/graph/GraphBase.h
@@ -9,7 +9,7 @@
 #define GRAPH_BASE_H_
 
 #include "common/Macros.h"
-#include "../object/ObjectBase.h"
+#include <object/ObjectBase.h>
 
 namespace graph {
 
diff --git a/alib2data/src/graph/common/GraphFromXMLParser.cpp b/alib2data/src/graph/common/GraphFromXMLParser.cpp
index 929fa79b6c0ffcd6438c9dad0cda9d360d891475..a20d5a5e8d477f4e7f220ad28b1a24a6f20e1464 100644
--- a/alib2data/src/graph/common/GraphFromXMLParser.cpp
+++ b/alib2data/src/graph/common/GraphFromXMLParser.cpp
@@ -7,7 +7,7 @@
 
 #include "GraphFromXMLParser.h"
 #include <sax/ParserException.h>
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 #include "../Graph.h"
 #include "../GraphClasses.h"
diff --git a/alib2data/src/graph/common/GraphToXMLComposer.cpp b/alib2data/src/graph/common/GraphToXMLComposer.cpp
index 731aa6702266a59af1638bd982f3c1084432a89b..07bda77fcfceecbd8d0f1ef83e24d292ac007f78 100644
--- a/alib2data/src/graph/common/GraphToXMLComposer.cpp
+++ b/alib2data/src/graph/common/GraphToXMLComposer.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "GraphToXMLComposer.h"
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 #include "../GraphRepresentation.h"
 #include "../Graph.h"
diff --git a/alib2data/src/graph/directed/DirectedEdge.cpp b/alib2data/src/graph/directed/DirectedEdge.cpp
index 814355da3f876c00fe4581e86742feaa2a0ecc3a..340508e2717dc83838ba0f196201d8a83a81f51a 100644
--- a/alib2data/src/graph/directed/DirectedEdge.cpp
+++ b/alib2data/src/graph/directed/DirectedEdge.cpp
@@ -7,7 +7,7 @@
 
 #include "DirectedEdge.h"
 #include "../../label/ObjectLabel.h"
-#include "../../object/Void.h"
+#include <object/Void.h>
 
 #include <sstream>
 
diff --git a/alib2data/src/graph/directed/DirectedGraph.cpp b/alib2data/src/graph/directed/DirectedGraph.cpp
index 5b0c620b21210367e3573164eecb06a9d4db3d8a..1794195b09c6a16ac5004ec90592f88ee06a20a5 100644
--- a/alib2data/src/graph/directed/DirectedGraph.cpp
+++ b/alib2data/src/graph/directed/DirectedGraph.cpp
@@ -18,8 +18,8 @@
 #include "../common/GraphFromXMLParser.h"
 #include "../common/GraphToXMLComposer.h"
 #include "../Graph.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace graph {
 
diff --git a/alib2data/src/graph/undirected/UndirectedEdge.cpp b/alib2data/src/graph/undirected/UndirectedEdge.cpp
index 75862596098e61fa0b84d56395b378f2dc152d7a..44dbb9ab353078fcf461f78aa01d4bfa2f169752 100644
--- a/alib2data/src/graph/undirected/UndirectedEdge.cpp
+++ b/alib2data/src/graph/undirected/UndirectedEdge.cpp
@@ -7,7 +7,7 @@
 
 #include "UndirectedEdge.h"
 #include "../../label/ObjectLabel.h"
-#include "../../object/Void.h"
+#include <object/Void.h>
 
 #include <sstream>
 
diff --git a/alib2data/src/graph/undirected/UndirectedGraph.cpp b/alib2data/src/graph/undirected/UndirectedGraph.cpp
index 6d8f07908cdd1af42a35fc79f3dd6a9e4a99eebe..450cd05a542c3c35ef964a5b2e364a441f11562b 100644
--- a/alib2data/src/graph/undirected/UndirectedGraph.cpp
+++ b/alib2data/src/graph/undirected/UndirectedGraph.cpp
@@ -18,8 +18,8 @@
 #include "../common/GraphFromXMLParser.h"
 #include "../common/GraphToXMLComposer.h"
 #include "../Graph.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace graph {
 
diff --git a/alib2data/src/indexes/common/IndexFromXMLParser.cpp b/alib2data/src/indexes/common/IndexFromXMLParser.cpp
index df270584b1fc62307fd63d475efc8cf95f62e4ee..c25af0dce337145cc73c455c2923dfe1b388e2e4 100644
--- a/alib2data/src/indexes/common/IndexFromXMLParser.cpp
+++ b/alib2data/src/indexes/common/IndexFromXMLParser.cpp
@@ -8,7 +8,7 @@
 #include <sax/FromXMLParserHelper.h>
 #include "IndexFromXMLParser.h"
 #include <sax/ParserException.h>
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 #include "../../primitive/Bool.h"
 
 namespace indexes {
diff --git a/alib2data/src/indexes/common/IndexToXMLComposer.cpp b/alib2data/src/indexes/common/IndexToXMLComposer.cpp
index 88976599928a3134487b24ee90ee2e4a4084067d..596054f561ff5bbedf93c4767c7f842f2b06e101 100644
--- a/alib2data/src/indexes/common/IndexToXMLComposer.cpp
+++ b/alib2data/src/indexes/common/IndexToXMLComposer.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "IndexToXMLComposer.h"
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 #include "../../primitive/Bool.h"
 
 namespace indexes {
diff --git a/alib2data/src/indexes/suffixTrie/SuffixTrieFinalMark.cpp b/alib2data/src/indexes/suffixTrie/SuffixTrieFinalMark.cpp
index 1d28549f91b60c82b90511275e867d85ced20ade..8bc367b7c12d75aa4c5ef6377177000892f2ad9c 100644
--- a/alib2data/src/indexes/suffixTrie/SuffixTrieFinalMark.cpp
+++ b/alib2data/src/indexes/suffixTrie/SuffixTrieFinalMark.cpp
@@ -7,7 +7,7 @@
 
 #include "SuffixTrieFinalMark.h"
 #include "SuffixTrieTerminatingSymbol.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <iostream>
 #include <algorithm>
@@ -16,8 +16,8 @@
 #include <sax/FromXMLParserHelper.h>
 #include "../common/IndexFromXMLParser.h"
 #include "../common/IndexToXMLComposer.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace indexes {
 
diff --git a/alib2data/src/indexes/suffixTrie/SuffixTrieFinalMark.h b/alib2data/src/indexes/suffixTrie/SuffixTrieFinalMark.h
index 3ac0cd7f2c43e9bf1e4f966eaaebec9d71296176..28585603d93503c971086bfd03f9ecf16ed3d3a2 100644
--- a/alib2data/src/indexes/suffixTrie/SuffixTrieFinalMark.h
+++ b/alib2data/src/indexes/suffixTrie/SuffixTrieFinalMark.h
@@ -13,7 +13,7 @@
 #include <string>
 #include <set>
 #include "SuffixTrieNodeFinalMark.h"
-#include "../../object/ObjectBase.h"
+#include <object/ObjectBase.h>
 #include "../../alphabet/Alphabet.h"
 
 namespace indexes {
diff --git a/alib2data/src/indexes/suffixTrie/SuffixTrieNodeFinalMark.cpp b/alib2data/src/indexes/suffixTrie/SuffixTrieNodeFinalMark.cpp
index 01fd5b6e3f71ffb616bb02e6d05325001a629b77..d661b001697438a4795195e358627e03cfeb9abb 100644
--- a/alib2data/src/indexes/suffixTrie/SuffixTrieNodeFinalMark.cpp
+++ b/alib2data/src/indexes/suffixTrie/SuffixTrieNodeFinalMark.cpp
@@ -8,7 +8,7 @@
 #include "SuffixTrieNodeFinalMark.h"
 #include "SuffixTrieNodeTerminatingSymbol.h"
 #include "SuffixTrieFinalMark.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 #include <sstream>
 
 namespace indexes {
diff --git a/alib2data/src/indexes/suffixTrie/SuffixTrieNodeTerminatingSymbol.cpp b/alib2data/src/indexes/suffixTrie/SuffixTrieNodeTerminatingSymbol.cpp
index 88a543c1e11340123c74425f3f6fe75b47becfae..c922205a894570e4d6fd9651a2d90d8ea5c03210 100644
--- a/alib2data/src/indexes/suffixTrie/SuffixTrieNodeTerminatingSymbol.cpp
+++ b/alib2data/src/indexes/suffixTrie/SuffixTrieNodeTerminatingSymbol.cpp
@@ -7,7 +7,7 @@
 
 #include "SuffixTrieNodeTerminatingSymbol.h"
 #include "SuffixTrieTerminatingSymbol.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 #include <sstream>
 
 namespace indexes {
diff --git a/alib2data/src/indexes/suffixTrie/SuffixTrieTerminatingSymbol.cpp b/alib2data/src/indexes/suffixTrie/SuffixTrieTerminatingSymbol.cpp
index 42395baa947f11e38523d9912d2479ffcfa2a9f9..50ed20cf6e463d3c2358df2343a1b401ff795051 100644
--- a/alib2data/src/indexes/suffixTrie/SuffixTrieTerminatingSymbol.cpp
+++ b/alib2data/src/indexes/suffixTrie/SuffixTrieTerminatingSymbol.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "SuffixTrieTerminatingSymbol.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <iostream>
 #include <algorithm>
@@ -15,8 +15,8 @@
 #include <sax/FromXMLParserHelper.h>
 #include "../common/IndexFromXMLParser.h"
 #include "../common/IndexToXMLComposer.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace indexes {
 
diff --git a/alib2data/src/indexes/suffixTrie/SuffixTrieTerminatingSymbol.h b/alib2data/src/indexes/suffixTrie/SuffixTrieTerminatingSymbol.h
index d31cfb385d4a2a6b8bad30b82300453b89c12961..de57f684e655e928598d8ccdc119484d1eb4439d 100644
--- a/alib2data/src/indexes/suffixTrie/SuffixTrieTerminatingSymbol.h
+++ b/alib2data/src/indexes/suffixTrie/SuffixTrieTerminatingSymbol.h
@@ -13,7 +13,7 @@
 #include <string>
 #include <set>
 #include "SuffixTrieNodeTerminatingSymbol.h"
-#include "../../object/ObjectBase.h"
+#include <object/ObjectBase.h>
 #include "common/TerminatingSymbolAlphabet.h"
 
 namespace indexes {
diff --git a/alib2data/src/indexes/suffixTrie/common/TerminatingSymbolAlphabet.cpp b/alib2data/src/indexes/suffixTrie/common/TerminatingSymbolAlphabet.cpp
index 5708c28b20fd2dda61ed63aca2fb321b7b9647d9..c5142d7412c27f5da8923ef99d31b171cacf8fa2 100644
--- a/alib2data/src/indexes/suffixTrie/common/TerminatingSymbolAlphabet.cpp
+++ b/alib2data/src/indexes/suffixTrie/common/TerminatingSymbolAlphabet.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "TerminatingSymbolAlphabet.h"
-#include "../../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 namespace indexes {
 
diff --git a/alib2data/src/label/HexavigesimalLabel.cpp b/alib2data/src/label/HexavigesimalLabel.cpp
index d142c14653847a051598084810588d7046a5fe85..cfb0193f0683cddf8ce579b30243fa95e9070c05 100644
--- a/alib2data/src/label/HexavigesimalLabel.cpp
+++ b/alib2data/src/label/HexavigesimalLabel.cpp
@@ -8,8 +8,8 @@
 #include "HexavigesimalLabel.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Label.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace label {
 
diff --git a/alib2data/src/label/Label.cpp b/alib2data/src/label/Label.cpp
index 39a872d89b78d6042e6466e5fd0e1f5b729c1dfa..32ea7a89bdb70bd79a04239f8c4548be3f35a4ab 100644
--- a/alib2data/src/label/Label.cpp
+++ b/alib2data/src/label/Label.cpp
@@ -9,7 +9,7 @@
 #include "PrimitiveLabel.h"
 #include "LabelPairLabel.h"
 #include "../primitive/Primitive.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace label {
 
diff --git a/alib2data/src/label/Label.h b/alib2data/src/label/Label.h
index 5a53fd2c69bf55f71c9602a0e15bfc40bbd9ce8d..51b10b0d20118d375402cec12df8cd9058b61b95 100644
--- a/alib2data/src/label/Label.h
+++ b/alib2data/src/label/Label.h
@@ -8,17 +8,16 @@
 #ifndef LABEL_H_
 #define LABEL_H_
 
-#include "../object/WrapperBase.h"
+#include <base/WrapperBase.hpp>
 #include "LabelBase.h"
-#include "../common/wrapper.hpp"
 
 namespace label {
 
 /**
  * Wrapper around automata.
  */
-class Label : public alib::wrapper < LabelBase >, public alib::WrapperBase {
-	using alib::wrapper < LabelBase >::wrapper;
+class Label : public alib::WrapperBase < LabelBase > {
+	using alib::WrapperBase < LabelBase >::WrapperBase;
 
 public:
 	Label next ( ) const;
diff --git a/alib2data/src/label/LabelBase.h b/alib2data/src/label/LabelBase.h
index 88e4b9d9f662d922e6f44b2e7b7b81d83b726ed5..1206a0e4fec2e5384b014e80b0247f1c57b8ff56 100644
--- a/alib2data/src/label/LabelBase.h
+++ b/alib2data/src/label/LabelBase.h
@@ -8,7 +8,7 @@
 #ifndef LABEL_BASE_H_
 #define LABEL_BASE_H_
 
-#include "../object/ObjectBase.h"
+#include <object/ObjectBase.h>
 
 namespace label {
 
diff --git a/alib2data/src/label/LabelPairLabel.cpp b/alib2data/src/label/LabelPairLabel.cpp
index cc05894711a9ebea070fa8cefb5333cb5782d067..275587993bad36339c2b10ff60b956918a179887 100644
--- a/alib2data/src/label/LabelPairLabel.cpp
+++ b/alib2data/src/label/LabelPairLabel.cpp
@@ -9,8 +9,8 @@
 #include <sstream>
 #include <sax/FromXMLParserHelper.h>
 #include "Label.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 #include "UniqueLabel.h"
 
 namespace label {
diff --git a/alib2data/src/label/LabelSetLabel.cpp b/alib2data/src/label/LabelSetLabel.cpp
index 82034aee3c0524a5ac7686cf500d0f92e5aef826..22e8f01448093bec143f94e5a5d7b493b2babd76 100644
--- a/alib2data/src/label/LabelSetLabel.cpp
+++ b/alib2data/src/label/LabelSetLabel.cpp
@@ -9,8 +9,8 @@
 #include <sstream>
 #include <sax/FromXMLParserHelper.h>
 #include "Label.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 #include "UniqueLabel.h"
 
 namespace label {
diff --git a/alib2data/src/label/ObjectLabel.cpp b/alib2data/src/label/ObjectLabel.cpp
index 4cbf954a92ec38621540a6f8ccf44dea8cc484e2..472fbc17ecac99ca921f8b68e32dee5743e67b07 100644
--- a/alib2data/src/label/ObjectLabel.cpp
+++ b/alib2data/src/label/ObjectLabel.cpp
@@ -8,8 +8,8 @@
 #include "ObjectLabel.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Label.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 #include "UniqueLabel.h"
 
 namespace label {
diff --git a/alib2data/src/label/ObjectLabel.h b/alib2data/src/label/ObjectLabel.h
index ac6ae5803002ba903fe5d0d3848e9606a7cde505..fdeb2da8578c0d950bb92697afa20c7b179c64fa 100644
--- a/alib2data/src/label/ObjectLabel.h
+++ b/alib2data/src/label/ObjectLabel.h
@@ -8,7 +8,7 @@
 #ifndef OBJECT_LABEL_H_
 #define OBJECT_LABEL_H_
 
-#include "../object/Object.h"
+#include <object/Object.h>
 #include "LabelBase.h"
 #include "Label.h"
 
diff --git a/alib2data/src/label/PrimitiveLabel.cpp b/alib2data/src/label/PrimitiveLabel.cpp
index 9df1296071605310cbb61499669691d9511b202c..714cb74c58d86005673d03ba7282f25ab14aef77 100644
--- a/alib2data/src/label/PrimitiveLabel.cpp
+++ b/alib2data/src/label/PrimitiveLabel.cpp
@@ -8,8 +8,8 @@
 #include "PrimitiveLabel.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Label.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 #include "UniqueLabel.h"
 
 namespace label {
diff --git a/alib2data/src/label/UniqueLabel.cpp b/alib2data/src/label/UniqueLabel.cpp
index 3ef4b130e1d4a88e079108077c156f88a401060f..4215ab9f73d193a270ec0b9fbb3d10bcea6f8c2d 100644
--- a/alib2data/src/label/UniqueLabel.cpp
+++ b/alib2data/src/label/UniqueLabel.cpp
@@ -9,8 +9,8 @@
 #include <sstream>
 #include <sax/FromXMLParserHelper.h>
 #include "Label.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace label {
 
diff --git a/alib2data/src/primitive/Bool.cpp b/alib2data/src/primitive/Bool.cpp
index d6677ee685f784aabe8cd8eb77d23a9fa8cac5ce..49269ba82029d2827e1e60f7a7dae0045b3d5173 100644
--- a/alib2data/src/primitive/Bool.cpp
+++ b/alib2data/src/primitive/Bool.cpp
@@ -7,9 +7,9 @@
 
 #include "Bool.h"
 #include <sax/FromXMLParserHelper.h>
-#include "../exception/AlibException.h"
+#include <exception/AlibException.h>
 #include "Primitive.h"
-#include "../object/Object.h"
+#include <object/Object.h>
 
 namespace primitive {
 
diff --git a/alib2data/src/primitive/Bool.h b/alib2data/src/primitive/Bool.h
index 4dc10811104242bdc72c9b2e78f198ff01b63303..764d855919e99f79a47d32ef46600324e14d9e4e 100644
--- a/alib2data/src/primitive/Bool.h
+++ b/alib2data/src/primitive/Bool.h
@@ -9,7 +9,7 @@
 #define PRIMITIVE_BOOL_H_
 
 #include "PrimitiveBase.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace primitive {
 
diff --git a/alib2data/src/primitive/Character.cpp b/alib2data/src/primitive/Character.cpp
index 5774ddffaf7456f8dd71958d1b0d5ad21ac9cc0d..b35bae9c71e4549ae7f224673771c97cb2ae209d 100644
--- a/alib2data/src/primitive/Character.cpp
+++ b/alib2data/src/primitive/Character.cpp
@@ -8,7 +8,7 @@
 #include "Character.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Primitive.h"
-#include "../object/Object.h"
+#include <object/Object.h>
 
 namespace primitive {
 
diff --git a/alib2data/src/primitive/Character.h b/alib2data/src/primitive/Character.h
index 1f6dc22150f864719510c90c2e88c74ddd8c20d6..ad9b50bd713f4a0d2cb8ececfd677c2722e5ef71 100644
--- a/alib2data/src/primitive/Character.h
+++ b/alib2data/src/primitive/Character.h
@@ -9,7 +9,7 @@
 #define PRIMITIVE_CHARACTER_H_
 
 #include "PrimitiveBase.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace primitive {
 
diff --git a/alib2data/src/primitive/Integer.cpp b/alib2data/src/primitive/Integer.cpp
index a51bc9b6a852bbcc0b38c1ce07770cfcf65a39ca..fbf24fd56269d07be765751e9e76f533e8a64314 100644
--- a/alib2data/src/primitive/Integer.cpp
+++ b/alib2data/src/primitive/Integer.cpp
@@ -8,7 +8,7 @@
 #include "Integer.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Primitive.h"
-#include "../object/Object.h"
+#include <object/Object.h>
 
 namespace primitive {
 
diff --git a/alib2data/src/primitive/Integer.h b/alib2data/src/primitive/Integer.h
index 480b51d61b3f177f2dba644825589cc801bd7390..3c316fcd2872e20f158f958684d0869c79e0a760 100644
--- a/alib2data/src/primitive/Integer.h
+++ b/alib2data/src/primitive/Integer.h
@@ -9,7 +9,7 @@
 #define PRIMITIVE_INTEGER_H_
 
 #include "PrimitiveBase.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace primitive {
 
diff --git a/alib2data/src/primitive/Primitive.cpp b/alib2data/src/primitive/Primitive.cpp
index 4ff1949b23df6122638fc8b40f7d5cd2c5114606..dbb07c0dc0ff9992110a5e976335abc1d1f71ded 100644
--- a/alib2data/src/primitive/Primitive.cpp
+++ b/alib2data/src/primitive/Primitive.cpp
@@ -11,7 +11,7 @@
 #include "String.h"
 #include "Unsigned.h"
 #include "Bool.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace primitive {
 
diff --git a/alib2data/src/primitive/Primitive.h b/alib2data/src/primitive/Primitive.h
index a9cff07fb6497dc39fd53c83ac52d0820af80f79..2f4fb55c89b90d0bb2fa713a168799c228a5e85f 100644
--- a/alib2data/src/primitive/Primitive.h
+++ b/alib2data/src/primitive/Primitive.h
@@ -8,17 +8,16 @@
 #ifndef PRIMITIVE_H_
 #define PRIMITIVE_H_
 
-#include "../object/WrapperBase.h"
+#include <base/WrapperBase.hpp>
 #include "PrimitiveBase.h"
-#include "../common/wrapper.hpp"
 
 namespace primitive {
 
 /**
  * Wrapper around primitive data types.
  */
-class Primitive : public alib::wrapper < PrimitiveBase >, public alib::WrapperBase {
-	using alib::wrapper < PrimitiveBase >::wrapper;
+class Primitive : public alib::WrapperBase < PrimitiveBase > {
+	using alib::WrapperBase < PrimitiveBase >::WrapperBase;
 
 public:
 	Primitive next ( ) const;
diff --git a/alib2data/src/primitive/PrimitiveBase.h b/alib2data/src/primitive/PrimitiveBase.h
index 374050a180a1f6e5774c443af48dd38397f95e66..c9f018197909e17a1183c3220a030caf47a4369a 100644
--- a/alib2data/src/primitive/PrimitiveBase.h
+++ b/alib2data/src/primitive/PrimitiveBase.h
@@ -8,7 +8,7 @@
 #ifndef PRIMITIVE_BASE_H_
 #define PRIMITIVE_BASE_H_
 
-#include "../object/ObjectBase.h"
+#include <object/ObjectBase.h>
 
 namespace primitive {
 
diff --git a/alib2data/src/primitive/String.cpp b/alib2data/src/primitive/String.cpp
index c2534061f267cb813282e182a001ad6542a78b24..05e27fda83511cb117aca17aa177c84fd1677896 100644
--- a/alib2data/src/primitive/String.cpp
+++ b/alib2data/src/primitive/String.cpp
@@ -8,7 +8,7 @@
 #include "String.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Primitive.h"
-#include "../object/Object.h"
+#include <object/Object.h>
 
 namespace primitive {
 
diff --git a/alib2data/src/primitive/String.h b/alib2data/src/primitive/String.h
index c06de9e3c226556b7cdbf29ff08e351504702b1e..95bfe1bca0878c4b7e6500ae3ff143f92a221f9b 100644
--- a/alib2data/src/primitive/String.h
+++ b/alib2data/src/primitive/String.h
@@ -10,7 +10,7 @@
 
 #include <string>
 #include "PrimitiveBase.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace primitive {
 
diff --git a/alib2data/src/primitive/Unsigned.cpp b/alib2data/src/primitive/Unsigned.cpp
index ce6a12272abb2e08f923d3cecdd52acc2f30e709..71071653e829254a29d0d86fc0c53e13f4240f4b 100644
--- a/alib2data/src/primitive/Unsigned.cpp
+++ b/alib2data/src/primitive/Unsigned.cpp
@@ -8,7 +8,7 @@
 #include "Unsigned.h"
 #include <sax/FromXMLParserHelper.h>
 #include "Primitive.h"
-#include "../object/Object.h"
+#include <object/Object.h>
 
 namespace primitive {
 
diff --git a/alib2data/src/primitive/Unsigned.h b/alib2data/src/primitive/Unsigned.h
index 655f0dced6c79feb95b7a08245b1d64f63e60a9a..2feb2a58c15f67eafc68ad5b585c291e402ec9a3 100644
--- a/alib2data/src/primitive/Unsigned.h
+++ b/alib2data/src/primitive/Unsigned.h
@@ -9,7 +9,7 @@
 #define PRIMITIVE_UNSIGNED_H_
 
 #include "PrimitiveBase.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace primitive {
 
diff --git a/alib2data/src/regexp/RegExp.cpp b/alib2data/src/regexp/RegExp.cpp
index 505c46b337eb1eb8a70464e548ea9d68f7473063..857784b82d1c480fb71a8d191f55f7bcb1c6d86d 100644
--- a/alib2data/src/regexp/RegExp.cpp
+++ b/alib2data/src/regexp/RegExp.cpp
@@ -13,7 +13,7 @@
 #include "unbounded/UnboundedRegExpConcatenation.h"
 
 #include "unbounded/UnboundedRegExp.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace regexp {
 
diff --git a/alib2data/src/regexp/RegExp.h b/alib2data/src/regexp/RegExp.h
index e9c12f8a0d9a2af8a74477af21e4f3bd2c5ce67b..a49df096830e02aa4c347821364b56e89eb83b94 100644
--- a/alib2data/src/regexp/RegExp.h
+++ b/alib2data/src/regexp/RegExp.h
@@ -8,8 +8,7 @@
 #ifndef REG_EXP_H_
 #define REG_EXP_H_
 
-#include "../object/WrapperBase.h"
-#include "../common/wrapper.hpp"
+#include <base/WrapperBase.hpp>
 #include "RegExpBase.h"
 
 #include "../alphabet/SymbolFeatures.h"
@@ -22,8 +21,8 @@ namespace regexp {
 /**
  * Wrapper around automata.
  */
-class RegExp : public alib::wrapper < RegExpBase >, public alib::WrapperBase {
-	using alib::wrapper < RegExpBase >::wrapper;
+class RegExp : public alib::WrapperBase < RegExpBase > {
+	using alib::WrapperBase < RegExpBase >::WrapperBase;
 
 public:
 	const std::set < alphabet::Symbol > & getAlphabet ( ) const;
diff --git a/alib2data/src/regexp/RegExpBase.h b/alib2data/src/regexp/RegExpBase.h
index 412b7ca4c9cd2a4ce1fd0799efa43de6a190b59b..cb24baa72b49d21878062bd760c6cd80d48f5af9 100644
--- a/alib2data/src/regexp/RegExpBase.h
+++ b/alib2data/src/regexp/RegExpBase.h
@@ -8,7 +8,7 @@
 #ifndef REG_EXP_BASE_H_
 #define REG_EXP_BASE_H_
 
-#include "../object/ObjectBase.h"
+#include <object/ObjectBase.h>
 #include <set>
 #include "../alphabet/Symbol.h"
 
diff --git a/alib2data/src/regexp/common/RegExpFromXMLParser.cpp b/alib2data/src/regexp/common/RegExpFromXMLParser.cpp
index 09d873c82f03fa87d6b591b395d80822831181fd..e75313531b1282a2f472b080fb52bfbfc10b5045 100644
--- a/alib2data/src/regexp/common/RegExpFromXMLParser.cpp
+++ b/alib2data/src/regexp/common/RegExpFromXMLParser.cpp
@@ -14,7 +14,7 @@
 
 #include "../unbounded/UnboundedRegExpElements.h"
 #include "../formal/FormalRegExpElements.h"
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace regexp {
 
diff --git a/alib2data/src/regexp/common/RegExpToXMLComposer.cpp b/alib2data/src/regexp/common/RegExpToXMLComposer.cpp
index 6454ef7a5275d6d14d9abceeec0b21c0642bf69f..8e710f92536b84e5c57abe184c3e82a0a2c5e263 100644
--- a/alib2data/src/regexp/common/RegExpToXMLComposer.cpp
+++ b/alib2data/src/regexp/common/RegExpToXMLComposer.cpp
@@ -12,7 +12,7 @@
 
 #include "../unbounded/UnboundedRegExpElements.h"
 #include "../formal/FormalRegExpElements.h"
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace regexp {
 
diff --git a/alib2data/src/regexp/formal/FormalRegExp.cpp b/alib2data/src/regexp/formal/FormalRegExp.cpp
index ad8b79a9eb8bade3fca05fef6f0ae3e0bcb7f2cf..d0958e2ad3c39e2c23f690d5d26d71c2946cbe4d 100644
--- a/alib2data/src/regexp/formal/FormalRegExp.cpp
+++ b/alib2data/src/regexp/formal/FormalRegExp.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "FormalRegExp.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 #include "FormalRegExpEmpty.h"
 #include "FormalRegExpSymbol.h"
 
@@ -20,9 +20,9 @@
 #include "../common/RegExpFromXMLParser.h"
 #include "../common/RegExpToXMLComposer.h"
 #include "../RegExp.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace regexp {
 
diff --git a/alib2data/src/regexp/formal/FormalRegExpAlternation.cpp b/alib2data/src/regexp/formal/FormalRegExpAlternation.cpp
index 12b3d9bfc9b5bb08a751cb9f9a7d13b467a9d4f0..4219e95311325a5fa26f5031f6b3160cd55789ec 100644
--- a/alib2data/src/regexp/formal/FormalRegExpAlternation.cpp
+++ b/alib2data/src/regexp/formal/FormalRegExpAlternation.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "FormalRegExpAlternation.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 #include "../unbounded/UnboundedRegExpAlternation.h"
 #include <sstream>
 
diff --git a/alib2data/src/regexp/formal/FormalRegExpConcatenation.cpp b/alib2data/src/regexp/formal/FormalRegExpConcatenation.cpp
index 32ca5ee090cf1929137dcd0cf126f27e05b0b5fb..d842c93f0196be44655aa19d27685fdb77bbcd06 100644
--- a/alib2data/src/regexp/formal/FormalRegExpConcatenation.cpp
+++ b/alib2data/src/regexp/formal/FormalRegExpConcatenation.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "FormalRegExpConcatenation.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 #include "../unbounded/UnboundedRegExpConcatenation.h"
 
 namespace regexp {
diff --git a/alib2data/src/regexp/formal/FormalRegExpElement.cpp b/alib2data/src/regexp/formal/FormalRegExpElement.cpp
index 4a8a16fca1188515c0b53cb36cd2484180fa1315..5dcb416466152e427b9eb0a14d8151f444f363fd 100644
--- a/alib2data/src/regexp/formal/FormalRegExpElement.cpp
+++ b/alib2data/src/regexp/formal/FormalRegExpElement.cpp
@@ -12,7 +12,7 @@
 
 #include "../common/RegExpFromXMLParser.h"
 #include "../common/RegExpToXMLComposer.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 namespace regexp {
 
diff --git a/alib2data/src/regexp/formal/FormalRegExpElement.h b/alib2data/src/regexp/formal/FormalRegExpElement.h
index 906479361c16ff40b69172c07b7ea3526c8aba55..5a5f116dca499a19ba112a6fa5a94474bfbd6128 100644
--- a/alib2data/src/regexp/formal/FormalRegExpElement.h
+++ b/alib2data/src/regexp/formal/FormalRegExpElement.h
@@ -8,8 +8,8 @@
 #ifndef FORMAL_REG_EXP_ELEMENT_H_
 #define FORMAL_REG_EXP_ELEMENT_H_
 
-#include "../../XmlApi.hpp"
-#include "../../common/visitor.hpp"
+#include <XmlApi.hpp>
+#include <core/visitor.hpp>
 #include "../../alphabet/Symbol.h"
 #include "../common/RegExpAlphabet.h"
 #include <set>
@@ -33,7 +33,7 @@ class FormalRegExpElement;
  */
 typedef std::acceptor_base < FormalRegExpElement, FormalRegExpAlternation, FormalRegExpConcatenation, FormalRegExpIteration, FormalRegExpSymbol, FormalRegExpEmpty, FormalRegExpEpsilon > VisitableFormalRegExpElement;
 
-class FormalRegExpElement : public alib::base < FormalRegExpElement >, public VisitableFormalRegExpElement {
+class FormalRegExpElement : public alib::CommonBase < FormalRegExpElement >, public VisitableFormalRegExpElement {
 protected:
 	/*
 	 * Parent regexp contanining this instance of RegExpElement
diff --git a/alib2data/src/regexp/formal/FormalRegExpIteration.cpp b/alib2data/src/regexp/formal/FormalRegExpIteration.cpp
index 0acaac54e9480f336532a50f4c59395cc1af8305..a26ad5f17c7d2ba00bafa3e26c1358fc19ba0a48 100644
--- a/alib2data/src/regexp/formal/FormalRegExpIteration.cpp
+++ b/alib2data/src/regexp/formal/FormalRegExpIteration.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "FormalRegExpIteration.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include "../unbounded/UnboundedRegExpIteration.h"
 #include <sstream>
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExp.cpp b/alib2data/src/regexp/unbounded/UnboundedRegExp.cpp
index 6e362087052e529d12a7c9928e18ec93e13742e8..a12e30b22df6b26c1961f561886cb535020f839f 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExp.cpp
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExp.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "UnboundedRegExp.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 #include "UnboundedRegExpEmpty.h"
 #include "UnboundedRegExpSymbol.h"
 
@@ -20,9 +20,9 @@
 #include "../common/RegExpFromXMLParser.h"
 #include "../common/RegExpToXMLComposer.h"
 #include "../RegExp.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace regexp {
 
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExpAlternation.cpp b/alib2data/src/regexp/unbounded/UnboundedRegExpAlternation.cpp
index 60d258cca1a5a2bf800e22dfc8e9d5f39a4818ff..f4dc0d2698069cffe36efdb6bad241ba168b65b9 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExpAlternation.cpp
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExpAlternation.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "UnboundedRegExpAlternation.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 #include "../formal/FormalRegExpAlternation.h"
 #include "../formal/FormalRegExpEmpty.h"
 #include <sstream>
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExpConcatenation.cpp b/alib2data/src/regexp/unbounded/UnboundedRegExpConcatenation.cpp
index 17e8a1521d75b4c66f414c031d2f55430ed34364..675aa123cd0927eb9a37fe5729958eae9150b4ec 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExpConcatenation.cpp
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExpConcatenation.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "UnboundedRegExpConcatenation.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 #include "../formal/FormalRegExpConcatenation.h"
 #include "../formal/FormalRegExpEpsilon.h"
 #include <sstream>
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExpElement.cpp b/alib2data/src/regexp/unbounded/UnboundedRegExpElement.cpp
index 74b902cc6f783c38d4a5ab1deb39c59212e645ed..30d3782d0a4af7a5882e5467d65b36b5239954c8 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExpElement.cpp
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExpElement.cpp
@@ -12,7 +12,7 @@
 
 #include "../common/RegExpFromXMLParser.h"
 #include "../common/RegExpToXMLComposer.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 namespace regexp {
 
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExpElement.h b/alib2data/src/regexp/unbounded/UnboundedRegExpElement.h
index 81915a22e5ca76df0090351b2a6c1f87aaa34ac3..6e0e1ce597afb914d12c821b37ff09de12cc680f 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExpElement.h
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExpElement.h
@@ -8,8 +8,8 @@
 #ifndef UNBOUNDED_REG_EXP_ELEMENT_H_
 #define UNBOUNDED_REG_EXP_ELEMENT_H_
 
-#include "../../XmlApi.hpp"
-#include "../../common/visitor.hpp"
+#include <XmlApi.hpp>
+#include <core/visitor.hpp>
 #include "../../alphabet/Symbol.h"
 #include "../common/RegExpAlphabet.h"
 #include <set>
@@ -33,7 +33,7 @@ class UnboundedRegExpElement;
  */
 typedef std::acceptor_base < UnboundedRegExpElement, UnboundedRegExpAlternation, UnboundedRegExpConcatenation, UnboundedRegExpIteration, UnboundedRegExpSymbol, UnboundedRegExpEmpty, UnboundedRegExpEpsilon > VisitableUnboundedRegExpElement;
 
-class UnboundedRegExpElement : public alib::base < UnboundedRegExpElement >, public VisitableUnboundedRegExpElement {
+class UnboundedRegExpElement : public alib::CommonBase < UnboundedRegExpElement >, public VisitableUnboundedRegExpElement {
 protected:
 	/**
 	 * Parent regexp contanining this instance of RegExpElement
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExpIteration.cpp b/alib2data/src/regexp/unbounded/UnboundedRegExpIteration.cpp
index a0095b97619a031f367d4daf4ed91a5b66ab5102..a139c229778ff429eb51de832b28115f7759b7a1 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExpIteration.cpp
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExpIteration.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "UnboundedRegExpIteration.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include "../formal/FormalRegExpIteration.h"
 #include <sstream>
diff --git a/alib2data/src/string/CyclicString.cpp b/alib2data/src/string/CyclicString.cpp
index 9ea3d94c18df0cc09d8045911cf8ab8f0b5cacb6..6adf92ec2481f5d75b0cc8c2d39964cb11d973f4 100644
--- a/alib2data/src/string/CyclicString.cpp
+++ b/alib2data/src/string/CyclicString.cpp
@@ -7,7 +7,7 @@
 
 #include "CyclicString.h"
 #include "Epsilon.h"
-#include "../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <sstream>
 #include <algorithm>
@@ -16,9 +16,9 @@
 #include "common/StringFromXMLParser.h"
 #include "common/StringToXMLComposer.h"
 #include "String.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
-#include "../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace string {
 
diff --git a/alib2data/src/string/Epsilon.cpp b/alib2data/src/string/Epsilon.cpp
index 8313b14bc6505c08cc5bcd3bcb88481032bf6bd0..3e9a41ae63ca8a4ba84f426d2068c8bbf076f9b1 100644
--- a/alib2data/src/string/Epsilon.cpp
+++ b/alib2data/src/string/Epsilon.cpp
@@ -11,8 +11,8 @@
 #include "common/StringFromXMLParser.h"
 #include "common/StringToXMLComposer.h"
 #include "String.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
 
 namespace string {
 
diff --git a/alib2data/src/string/LinearString.cpp b/alib2data/src/string/LinearString.cpp
index d9789c81b95cbdeebd5ebbb7c31209ae6448ac45..af56a1fc5e378cd250659f144cf05064ea66bdd5 100644
--- a/alib2data/src/string/LinearString.cpp
+++ b/alib2data/src/string/LinearString.cpp
@@ -12,7 +12,7 @@
 #include "../tree/ranked/PrefixRankedBarTree.h"
 #include "../tree/ranked/PrefixRankedBarPattern.h"
 #include "../tree/unranked/PrefixBarTree.h"
-#include "../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <sstream>
 #include <algorithm>
@@ -21,9 +21,9 @@
 #include "common/StringFromXMLParser.h"
 #include "common/StringToXMLComposer.h"
 #include "String.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
-#include "../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace string {
 
diff --git a/alib2data/src/string/LinearStringTerminatingSymbol.cpp b/alib2data/src/string/LinearStringTerminatingSymbol.cpp
index 41f89ac8f7b6e06aff8be3fa3e4c8a0b94dd80c2..e725323477e18a8f6b0dda590bece9eedb17bbd3 100644
--- a/alib2data/src/string/LinearStringTerminatingSymbol.cpp
+++ b/alib2data/src/string/LinearStringTerminatingSymbol.cpp
@@ -7,7 +7,7 @@
 
 #include "LinearStringTerminatingSymbol.h"
 #include "LinearString.h"
-#include "../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <sstream>
 #include <algorithm>
@@ -16,9 +16,9 @@
 #include "common/StringFromXMLParser.h"
 #include "common/StringToXMLComposer.h"
 #include "String.h"
-#include "../object/Object.h"
-#include "../XmlApi.hpp"
-#include "../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace string {
 
diff --git a/alib2data/src/string/String.cpp b/alib2data/src/string/String.cpp
index f8f9337037b7da903377be6d9c5f622b68b50e54..a33cfa3541fec8b101bca559ac3dfa6f31449b2e 100644
--- a/alib2data/src/string/String.cpp
+++ b/alib2data/src/string/String.cpp
@@ -9,7 +9,7 @@
 #include "LinearString.h"
 #include "CyclicString.h"
 #include "Epsilon.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace string {
 
diff --git a/alib2data/src/string/String.h b/alib2data/src/string/String.h
index 9127db30d21e3719aa5785daf56d2fa99f047f9e..69fe896c63d758e49af3d482bbaa41706d3e099d 100644
--- a/alib2data/src/string/String.h
+++ b/alib2data/src/string/String.h
@@ -8,9 +8,8 @@
 #ifndef STRING_H_
 #define STRING_H_
 
-#include "../object/WrapperBase.h"
+#include <base/WrapperBase.hpp>
 #include "StringBase.h"
-#include "../common/wrapper.hpp"
 #include <set>
 #include "../alphabet/Symbol.h"
 
@@ -19,8 +18,8 @@ namespace string {
 /**
  * Wrapper around strings.
  */
-class String : public alib::wrapper < StringBase >, public alib::WrapperBase {
-	using alib::wrapper < StringBase >::wrapper;
+class String : public alib::WrapperBase < StringBase > {
+	using alib::WrapperBase < StringBase >::WrapperBase;
 
 public:
 	const std::set < alphabet::Symbol > & getAlphabet ( ) const;
diff --git a/alib2data/src/string/StringBase.h b/alib2data/src/string/StringBase.h
index b6c173d8f0c7854af56a79c8b54eab947e0a8466..e931fd3c2d3c792d9b1b64f3cc3ab9e3fbf0fc6d 100644
--- a/alib2data/src/string/StringBase.h
+++ b/alib2data/src/string/StringBase.h
@@ -8,7 +8,7 @@
 #ifndef STRING_BASE_H_
 #define STRING_BASE_H_
 
-#include "../object/ObjectBase.h"
+#include <object/ObjectBase.h>
 #include <set>
 #include "../alphabet/Symbol.h"
 
diff --git a/alib2data/src/string/common/StringFromXMLParser.cpp b/alib2data/src/string/common/StringFromXMLParser.cpp
index d81410d9be7f74b513e66ae3420751041dab075d..f6a3ae204e4557abe77045f140b8febf98a01a68 100644
--- a/alib2data/src/string/common/StringFromXMLParser.cpp
+++ b/alib2data/src/string/common/StringFromXMLParser.cpp
@@ -7,7 +7,7 @@
 
 #include "StringFromXMLParser.h"
 #include <sax/FromXMLParserHelper.h>
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace string {
 
diff --git a/alib2data/src/string/common/StringToXMLComposer.cpp b/alib2data/src/string/common/StringToXMLComposer.cpp
index 289af0eaf46bf2a13bb8c30b49f5803098b75e56..fa7a6eb788cf2e291f039cad3fa7bfa397ccdd42 100644
--- a/alib2data/src/string/common/StringToXMLComposer.cpp
+++ b/alib2data/src/string/common/StringToXMLComposer.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "StringToXMLComposer.h"
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace string {
 
diff --git a/alib2data/src/string/common/TerminatingSymbolStringAlphabet.cpp b/alib2data/src/string/common/TerminatingSymbolStringAlphabet.cpp
index 50ba738b92646104e7f8576bf352bd1141358b81..403bd7884de56108c15e577e18ff707ce4e2fa7e 100644
--- a/alib2data/src/string/common/TerminatingSymbolStringAlphabet.cpp
+++ b/alib2data/src/string/common/TerminatingSymbolStringAlphabet.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "TerminatingSymbolStringAlphabet.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <algorithm>
 
diff --git a/alib2data/src/tree/RankedTreeWrapper.cpp b/alib2data/src/tree/RankedTreeWrapper.cpp
index a62d81782ad7a2efca55126dc1a41bf075b2b3de..2d8ce6b7201e2e754c407d25e4d691e403cbb3a4 100644
--- a/alib2data/src/tree/RankedTreeWrapper.cpp
+++ b/alib2data/src/tree/RankedTreeWrapper.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "RankedTreeWrapper.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace tree {
 
diff --git a/alib2data/src/tree/RankedTreeWrapper.h b/alib2data/src/tree/RankedTreeWrapper.h
index 7cf4a4006d82f984739221226a3a99ebd269356d..4c15c79bdac591ac0b001931d34c2d4db145375e 100644
--- a/alib2data/src/tree/RankedTreeWrapper.h
+++ b/alib2data/src/tree/RankedTreeWrapper.h
@@ -8,17 +8,16 @@
 #ifndef RANKED_TREE_WRAPPER_H_
 #define RANKED_TREE_WRAPPER_H_
 
-#include "../object/WrapperBase.h"
+#include <base/WrapperBase.hpp>
 #include "RankedTreeBase.h"
-#include "../common/wrapper.hpp"
 
 namespace tree {
 
 /**
  * Wrapper around tree.
  */
-class RankedTreeWrapper : public alib::wrapper < RankedTreeBase >, public alib::WrapperBase {
-	using alib::wrapper < RankedTreeBase >::wrapper;
+class RankedTreeWrapper : public alib::WrapperBase < RankedTreeBase > {
+	using alib::WrapperBase < RankedTreeBase >::WrapperBase;
 
 public:
 	const std::set < alphabet::RankedSymbol > & getAlphabet ( ) const;
diff --git a/alib2data/src/tree/Tree.cpp b/alib2data/src/tree/Tree.cpp
index a2433d72f45433b54ffa850785cb9490371a9387..b570d691fd356e3cedea0b18f8b716e98cb92874 100644
--- a/alib2data/src/tree/Tree.cpp
+++ b/alib2data/src/tree/Tree.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "Tree.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace tree {
 
diff --git a/alib2data/src/tree/Tree.h b/alib2data/src/tree/Tree.h
index d56577859f86dbaa95d14f2c8741a0c20db3f604..ccfa179ee5512b763dbcd58b24aacb9ce96a3ec0 100644
--- a/alib2data/src/tree/Tree.h
+++ b/alib2data/src/tree/Tree.h
@@ -8,17 +8,16 @@
 #ifndef TREE_H_
 #define TREE_H_
 
-#include "../object/WrapperBase.h"
+#include <base/WrapperBase.hpp>
 #include "TreeBase.h"
-#include "../common/wrapper.hpp"
 
 namespace tree {
 
 /**
  * Wrapper around tree.
  */
-class Tree : public alib::wrapper < TreeBase >, public alib::WrapperBase {
-	using alib::wrapper < TreeBase >::wrapper;
+class Tree : public alib::WrapperBase < TreeBase > {
+	using alib::WrapperBase < TreeBase >::WrapperBase;
 
 public:
 	const static std::string XML_TAG_NAME_REF;
diff --git a/alib2data/src/tree/TreeBase.h b/alib2data/src/tree/TreeBase.h
index 110507cf4bca6a84798e0e00e7c6eaef2c6fe7cb..c724087d27a56dcc9ea090af0806b159ad0d5b3e 100644
--- a/alib2data/src/tree/TreeBase.h
+++ b/alib2data/src/tree/TreeBase.h
@@ -8,7 +8,7 @@
 #ifndef TREE_BASE_H_
 #define TREE_BASE_H_
 
-#include "../object/ObjectBase.h"
+#include <object/ObjectBase.h>
 
 namespace tree {
 
diff --git a/alib2data/src/tree/TreeException.h b/alib2data/src/tree/TreeException.h
index 1a30f23de7e2692b619d5384b99e1a76ca108599..5afeb57dd5ad238850362b48c8e23a6897fc54c5 100644
--- a/alib2data/src/tree/TreeException.h
+++ b/alib2data/src/tree/TreeException.h
@@ -8,7 +8,7 @@
 #ifndef TREE_EXCEPTION_H_
 #define TREE_EXCEPTION_H_
 
-#include "../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 namespace tree {
 
diff --git a/alib2data/src/tree/UnrankedTreeWrapper.cpp b/alib2data/src/tree/UnrankedTreeWrapper.cpp
index ea97583916f554e742b744ba34f02a64dbec2209..2fecc5cf56702ee8745e2ab65326030a48c06ed0 100644
--- a/alib2data/src/tree/UnrankedTreeWrapper.cpp
+++ b/alib2data/src/tree/UnrankedTreeWrapper.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "UnrankedTreeWrapper.h"
-#include "../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace tree {
 
diff --git a/alib2data/src/tree/UnrankedTreeWrapper.h b/alib2data/src/tree/UnrankedTreeWrapper.h
index 8f1123cf7d5b703eb64056ea4988a4e3fed4a86e..6e6489bdc4e2853184e376bd5edb1bca9bac89b0 100644
--- a/alib2data/src/tree/UnrankedTreeWrapper.h
+++ b/alib2data/src/tree/UnrankedTreeWrapper.h
@@ -8,17 +8,16 @@
 #ifndef UNRANKED_TREE_WRAPPER_H_
 #define UNRANKED_TREE_WRAPPER_H_
 
-#include "../object/WrapperBase.h"
+#include <base/WrapperBase.hpp>
 #include "UnrankedTreeBase.h"
-#include "../common/wrapper.hpp"
 
 namespace tree {
 
 /**
  * Wrapper around tree.
  */
-class UnrankedTreeWrapper : public alib::wrapper < UnrankedTreeBase >, public alib::WrapperBase {
-	using alib::wrapper < UnrankedTreeBase >::wrapper;
+class UnrankedTreeWrapper : public alib::WrapperBase < UnrankedTreeBase > {
+	using alib::WrapperBase < UnrankedTreeBase >::WrapperBase;
 
 public:
 	const std::set < alphabet::Symbol > & getAlphabet ( ) const;
diff --git a/alib2data/src/tree/common/TreeFromXMLParser.cpp b/alib2data/src/tree/common/TreeFromXMLParser.cpp
index 16fbdf31a49e6f38b2e6c75d507d7344ba338354..3ae21204f7f9a7b1b290039906286dcc14e60f97 100644
--- a/alib2data/src/tree/common/TreeFromXMLParser.cpp
+++ b/alib2data/src/tree/common/TreeFromXMLParser.cpp
@@ -8,7 +8,7 @@
 #include <sax/FromXMLParserHelper.h>
 #include "TreeFromXMLParser.h"
 #include <sax/ParserException.h>
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace tree {
 
diff --git a/alib2data/src/tree/common/TreeToXMLComposer.cpp b/alib2data/src/tree/common/TreeToXMLComposer.cpp
index 6a34cf7e906d1316832c6b1b6174dfa0d21e186c..b0bec827c00ba119278236cb38e01b41b7926689 100644
--- a/alib2data/src/tree/common/TreeToXMLComposer.cpp
+++ b/alib2data/src/tree/common/TreeToXMLComposer.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "TreeToXMLComposer.h"
-#include "../../XmlApi.hpp"
+#include <XmlApi.hpp>
 
 namespace tree {
 
diff --git a/alib2data/src/tree/ranked/PrefixRankedBarPattern.cpp b/alib2data/src/tree/ranked/PrefixRankedBarPattern.cpp
index e920530e345966fb9a37652977b55b667beaffb5..b8c2ca395c9ba9c7db47c5837485a6ed94e329a4 100644
--- a/alib2data/src/tree/ranked/PrefixRankedBarPattern.cpp
+++ b/alib2data/src/tree/ranked/PrefixRankedBarPattern.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "PrefixRankedBarPattern.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <sstream>
 #include <algorithm>
@@ -20,9 +20,9 @@
 #include "../common/TreeToXMLComposer.h"
 #include "../Tree.h"
 #include "../RankedTreeWrapper.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 #include "../../alphabet/BarSymbol.h"
 #include "../../alphabet/VariablesBarSymbol.h"
diff --git a/alib2data/src/tree/ranked/PrefixRankedBarTree.cpp b/alib2data/src/tree/ranked/PrefixRankedBarTree.cpp
index 55741eba185c72a5bc0167749e331714b5e5e6e9..34cbe53dbca14df85fcd6bf207d2e55db57e9457 100644
--- a/alib2data/src/tree/ranked/PrefixRankedBarTree.cpp
+++ b/alib2data/src/tree/ranked/PrefixRankedBarTree.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "PrefixRankedBarTree.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <sstream>
 #include <algorithm>
@@ -19,9 +19,9 @@
 #include "../common/TreeToXMLComposer.h"
 #include "../Tree.h"
 #include "../RankedTreeWrapper.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 #include "../../alphabet/BarSymbol.h"
 
diff --git a/alib2data/src/tree/ranked/PrefixRankedPattern.cpp b/alib2data/src/tree/ranked/PrefixRankedPattern.cpp
index a646a8c2922dfe2229ab6d38f4a4eb01d27cde8d..ee34f5d171eed3e6e21d95702492c36af2d88432 100644
--- a/alib2data/src/tree/ranked/PrefixRankedPattern.cpp
+++ b/alib2data/src/tree/ranked/PrefixRankedPattern.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "PrefixRankedPattern.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <sstream>
 #include <algorithm>
@@ -20,9 +20,9 @@
 #include "../common/TreeToXMLComposer.h"
 #include "../Tree.h"
 #include "../RankedTreeWrapper.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 #include "../../alphabet/SubtreeWildcardSymbol.h"
 
diff --git a/alib2data/src/tree/ranked/PrefixRankedTree.cpp b/alib2data/src/tree/ranked/PrefixRankedTree.cpp
index 838f8f0e8b3223a2a506cdc770a47a29fe0392ad..792162bb8861193238f015a93ba05b2cd5986262 100644
--- a/alib2data/src/tree/ranked/PrefixRankedTree.cpp
+++ b/alib2data/src/tree/ranked/PrefixRankedTree.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "PrefixRankedTree.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <sstream>
 #include <algorithm>
@@ -19,9 +19,9 @@
 #include "../common/TreeToXMLComposer.h"
 #include "../Tree.h"
 #include "../RankedTreeWrapper.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace tree {
 
diff --git a/alib2data/src/tree/ranked/RankedPattern.cpp b/alib2data/src/tree/ranked/RankedPattern.cpp
index 30143cb2b47a749e0274aa656c19f6ad148d09fe..26cac4cfbca6f7f8210b5bde730c2e6cd7ede40b 100644
--- a/alib2data/src/tree/ranked/RankedPattern.cpp
+++ b/alib2data/src/tree/ranked/RankedPattern.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "RankedPattern.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <iostream>
 #include <algorithm>
@@ -19,9 +19,9 @@
 #include "../common/TreeToXMLComposer.h"
 #include "../Tree.h"
 #include "../RankedTreeWrapper.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace tree {
 
diff --git a/alib2data/src/tree/ranked/RankedTree.cpp b/alib2data/src/tree/ranked/RankedTree.cpp
index 9ef2e8ce2a6e1a30b59dc206cc9f7051e4b48aad..4b71f4fc73a2ecd325175ec1a1f2eca2c9dcfcb5 100644
--- a/alib2data/src/tree/ranked/RankedTree.cpp
+++ b/alib2data/src/tree/ranked/RankedTree.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "RankedTree.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <iostream>
 #include <algorithm>
@@ -19,9 +19,9 @@
 #include "../common/TreeToXMLComposer.h"
 #include "../Tree.h"
 #include "../RankedTreeWrapper.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace tree {
 
diff --git a/alib2data/src/tree/unranked/PrefixBarTree.cpp b/alib2data/src/tree/unranked/PrefixBarTree.cpp
index 561ce63c0ec776e6b1ddd93e73a06eebfaf58ffa..88746798e005bd8c364be5a3ac45923f9e5708a7 100644
--- a/alib2data/src/tree/unranked/PrefixBarTree.cpp
+++ b/alib2data/src/tree/unranked/PrefixBarTree.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "PrefixBarTree.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <sstream>
 #include <algorithm>
@@ -19,9 +19,9 @@
 #include "../common/TreeToXMLComposer.h"
 #include "../Tree.h"
 #include "../UnrankedTreeWrapper.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 #include "../../alphabet/BarSymbol.h"
 
diff --git a/alib2data/src/tree/unranked/UnrankedPattern.cpp b/alib2data/src/tree/unranked/UnrankedPattern.cpp
index df483fd32ccc23a3e693d87d0ab02bb14903c929..204ce0d74e653e5180db13535befe00af9e1a4a5 100644
--- a/alib2data/src/tree/unranked/UnrankedPattern.cpp
+++ b/alib2data/src/tree/unranked/UnrankedPattern.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "UnrankedPattern.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <iostream>
 #include <algorithm>
@@ -19,9 +19,9 @@
 #include "../common/TreeToXMLComposer.h"
 #include "../Tree.h"
 #include "../UnrankedTreeWrapper.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace tree {
 
diff --git a/alib2data/src/tree/unranked/UnrankedTree.cpp b/alib2data/src/tree/unranked/UnrankedTree.cpp
index c7c877d041ae6f64e565294e5a292ac332ee958f..0073ae24f52eae5cbf6b6735d8f243386579a982 100644
--- a/alib2data/src/tree/unranked/UnrankedTree.cpp
+++ b/alib2data/src/tree/unranked/UnrankedTree.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "UnrankedTree.h"
-#include "../../exception/AlibException.h"
+#include <exception/AlibException.h>
 
 #include <iostream>
 #include <algorithm>
@@ -19,9 +19,9 @@
 #include "../common/TreeToXMLComposer.h"
 #include "../Tree.h"
 #include "../UnrankedTreeWrapper.h"
-#include "../../object/Object.h"
-#include "../../XmlApi.hpp"
-#include "../../CastApi.hpp"
+#include <object/Object.h>
+#include <XmlApi.hpp>
+#include <cast/CastApi.hpp>
 
 namespace tree {