From 72c54aba7d6d4ca16b32eb1a07bcb6589ae0a8ba Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Thu, 25 Feb 2016 13:19:14 +0100
Subject: [PATCH] modify data library to compile

---
 .../src/exception/AlibException.cpp           |  2 +-
 .../src/exception/AlibException.h             |  4 ++--
 alib2common/src/object/ObjectBase.h           |  7 ++++++-
 alib2data/src/alphabet/BarSymbol.cpp          |  4 ++--
 alib2data/src/alphabet/BlankSymbol.cpp        |  4 ++--
 .../src/alphabet/BottomOfTheStackSymbol.cpp   |  4 ++--
 alib2data/src/alphabet/EndSymbol.cpp          |  4 ++--
 alib2data/src/alphabet/LabeledSymbol.cpp      |  4 ++--
 alib2data/src/alphabet/RankedSymbol.cpp       |  4 ++--
 alib2data/src/alphabet/StartSymbol.cpp        |  4 ++--
 .../src/alphabet/SubtreeWildcardSymbol.cpp    |  4 ++--
 alib2data/src/alphabet/Symbol.cpp             |  4 ++--
 alib2data/src/alphabet/Symbol.h               |  7 +++----
 alib2data/src/alphabet/SymbolBase.h           |  2 +-
 alib2data/src/alphabet/SymbolPairSymbol.cpp   |  4 ++--
 alib2data/src/alphabet/SymbolSetSymbol.cpp    |  4 ++--
 alib2data/src/alphabet/UniqueSymbol.cpp       |  4 ++--
 alib2data/src/alphabet/VariablesBarSymbol.cpp |  4 ++--
 alib2data/src/automaton/Automaton.cpp         |  2 +-
 alib2data/src/automaton/Automaton.h           |  7 +++----
 alib2data/src/automaton/AutomatonBase.h       |  3 +--
 alib2data/src/automaton/AutomatonException.h  |  2 +-
 alib2data/src/automaton/FSM/CompactNFA.cpp    |  6 +++---
 alib2data/src/automaton/FSM/DFA.cpp           |  4 ++--
 alib2data/src/automaton/FSM/EpsilonNFA.cpp    |  6 +++---
 alib2data/src/automaton/FSM/ExtendedNFA.cpp   |  6 +++---
 .../automaton/FSM/MultiInitialStateNFA.cpp    |  6 +++---
 alib2data/src/automaton/FSM/NFA.cpp           |  6 +++---
 alib2data/src/automaton/PDA/DPDA.cpp          |  6 +++---
 .../src/automaton/PDA/InputDrivenDPDA.cpp     |  4 ++--
 .../src/automaton/PDA/InputDrivenNPDA.cpp     |  4 ++--
 alib2data/src/automaton/PDA/NPDA.cpp          |  6 +++---
 .../PDA/RealTimeHeightDeterministicDPDA.cpp   |  6 +++---
 .../PDA/RealTimeHeightDeterministicNPDA.cpp   |  6 +++---
 alib2data/src/automaton/PDA/SinglePopDPDA.cpp |  4 ++--
 alib2data/src/automaton/PDA/SinglePopNPDA.cpp |  4 ++--
 .../src/automaton/PDA/VisiblyPushdownDPDA.cpp |  4 ++--
 .../src/automaton/PDA/VisiblyPushdownNPDA.cpp |  4 ++--
 alib2data/src/automaton/TA/DFTA.cpp           |  4 ++--
 alib2data/src/automaton/TA/NFTA.cpp           |  4 ++--
 alib2data/src/automaton/TM/OneTapeDTM.cpp     |  4 ++--
 .../common/AutomatonFromXMLParser.cpp         |  2 +-
 .../common/AutomatonToXMLComposer.cpp         |  2 +-
 alib2data/src/automaton/common/State.cpp      |  2 +-
 alib2data/src/automaton/common/State.h        |  2 +-
 alib2data/src/container/Container.cpp         |  2 +-
 alib2data/src/container/Container.h           |  7 +++----
 alib2data/src/container/ContainerBase.h       |  2 +-
 alib2data/src/container/ObjectsDeque.cpp      |  2 +-
 alib2data/src/container/ObjectsDeque.h        |  4 ++--
 alib2data/src/container/ObjectsList.cpp       |  2 +-
 alib2data/src/container/ObjectsList.h         |  4 ++--
 alib2data/src/container/ObjectsMap.cpp        |  4 ++--
 alib2data/src/container/ObjectsMap.h          |  4 ++--
 alib2data/src/container/ObjectsPair.cpp       |  4 ++--
 alib2data/src/container/ObjectsPair.h         |  4 ++--
 alib2data/src/container/ObjectsSet.cpp        |  2 +-
 alib2data/src/container/ObjectsSet.h          |  4 ++--
 alib2data/src/container/ObjectsVariant.h      |  4 ++--
 alib2data/src/container/ObjectsVector.cpp     |  2 +-
 alib2data/src/container/ObjectsVector.h       |  4 ++--
 alib2data/src/exception/ExceptionClasses.h    | 13 ------------
 alib2data/src/exception/ExceptionFeatures.h   | 21 -------------------
 alib2data/src/factory/XmlDataFactory.hpp      |  4 ++--
 alib2data/src/grammar/ContextFree/CFG.cpp     |  6 +++---
 alib2data/src/grammar/ContextFree/CNF.cpp     |  4 ++--
 .../grammar/ContextFree/EpsilonFreeCFG.cpp    |  4 ++--
 alib2data/src/grammar/ContextFree/GNF.cpp     |  4 ++--
 alib2data/src/grammar/ContextFree/LG.cpp      |  4 ++--
 .../src/grammar/ContextSensitive/CSG.cpp      |  4 ++--
 .../NonContractingGrammar.cpp                 |  4 ++--
 alib2data/src/grammar/Grammar.cpp             |  2 +-
 alib2data/src/grammar/Grammar.h               |  7 +++----
 alib2data/src/grammar/GrammarBase.h           |  3 +--
 alib2data/src/grammar/GrammarException.h      |  2 +-
 alib2data/src/grammar/Regular/LeftLG.cpp      |  4 ++--
 alib2data/src/grammar/Regular/LeftRG.cpp      |  4 ++--
 alib2data/src/grammar/Regular/RightLG.cpp     |  4 ++--
 alib2data/src/grammar/Regular/RightRG.cpp     |  4 ++--
 .../ContextPreservingUnrestrictedGrammar.cpp  |  4 ++--
 .../Unrestricted/UnrestrictedGrammar.cpp      |  4 ++--
 .../grammar/common/GrammarFromXMLParser.cpp   |  2 +-
 .../grammar/common/GrammarToXMLComposer.cpp   |  2 +-
 ...rminalNonterminalAlphabetInitialSymbol.cpp |  2 +-
 alib2data/src/graph/Graph.cpp                 |  2 +-
 alib2data/src/graph/Graph.h                   |  7 +++----
 alib2data/src/graph/GraphBase.h               |  2 +-
 .../src/graph/common/GraphFromXMLParser.cpp   |  2 +-
 .../src/graph/common/GraphToXMLComposer.cpp   |  2 +-
 alib2data/src/graph/directed/DirectedEdge.cpp |  2 +-
 .../src/graph/directed/DirectedGraph.cpp      |  4 ++--
 .../src/graph/undirected/UndirectedEdge.cpp   |  2 +-
 .../src/graph/undirected/UndirectedGraph.cpp  |  4 ++--
 .../src/indexes/common/IndexFromXMLParser.cpp |  2 +-
 .../src/indexes/common/IndexToXMLComposer.cpp |  2 +-
 .../suffixTrie/SuffixTrieFinalMark.cpp        |  6 +++---
 .../indexes/suffixTrie/SuffixTrieFinalMark.h  |  2 +-
 .../suffixTrie/SuffixTrieNodeFinalMark.cpp    |  2 +-
 .../SuffixTrieNodeTerminatingSymbol.cpp       |  2 +-
 .../SuffixTrieTerminatingSymbol.cpp           |  6 +++---
 .../suffixTrie/SuffixTrieTerminatingSymbol.h  |  2 +-
 .../common/TerminatingSymbolAlphabet.cpp      |  2 +-
 alib2data/src/label/HexavigesimalLabel.cpp    |  4 ++--
 alib2data/src/label/Label.cpp                 |  2 +-
 alib2data/src/label/Label.h                   |  7 +++----
 alib2data/src/label/LabelBase.h               |  2 +-
 alib2data/src/label/LabelPairLabel.cpp        |  4 ++--
 alib2data/src/label/LabelSetLabel.cpp         |  4 ++--
 alib2data/src/label/ObjectLabel.cpp           |  4 ++--
 alib2data/src/label/ObjectLabel.h             |  2 +-
 alib2data/src/label/PrimitiveLabel.cpp        |  4 ++--
 alib2data/src/label/UniqueLabel.cpp           |  4 ++--
 alib2data/src/primitive/Bool.cpp              |  4 ++--
 alib2data/src/primitive/Bool.h                |  2 +-
 alib2data/src/primitive/Character.cpp         |  2 +-
 alib2data/src/primitive/Character.h           |  2 +-
 alib2data/src/primitive/Integer.cpp           |  2 +-
 alib2data/src/primitive/Integer.h             |  2 +-
 alib2data/src/primitive/Primitive.cpp         |  2 +-
 alib2data/src/primitive/Primitive.h           |  7 +++----
 alib2data/src/primitive/PrimitiveBase.h       |  2 +-
 alib2data/src/primitive/String.cpp            |  2 +-
 alib2data/src/primitive/String.h              |  2 +-
 alib2data/src/primitive/Unsigned.cpp          |  2 +-
 alib2data/src/primitive/Unsigned.h            |  2 +-
 alib2data/src/regexp/RegExp.cpp               |  2 +-
 alib2data/src/regexp/RegExp.h                 |  7 +++----
 alib2data/src/regexp/RegExpBase.h             |  2 +-
 .../src/regexp/common/RegExpFromXMLParser.cpp |  2 +-
 .../src/regexp/common/RegExpToXMLComposer.cpp |  2 +-
 alib2data/src/regexp/formal/FormalRegExp.cpp  |  8 +++----
 .../regexp/formal/FormalRegExpAlternation.cpp |  2 +-
 .../formal/FormalRegExpConcatenation.cpp      |  2 +-
 .../src/regexp/formal/FormalRegExpElement.cpp |  2 +-
 .../src/regexp/formal/FormalRegExpElement.h   |  6 +++---
 .../regexp/formal/FormalRegExpIteration.cpp   |  2 +-
 .../src/regexp/unbounded/UnboundedRegExp.cpp  |  8 +++----
 .../unbounded/UnboundedRegExpAlternation.cpp  |  2 +-
 .../UnboundedRegExpConcatenation.cpp          |  2 +-
 .../unbounded/UnboundedRegExpElement.cpp      |  2 +-
 .../regexp/unbounded/UnboundedRegExpElement.h |  6 +++---
 .../unbounded/UnboundedRegExpIteration.cpp    |  2 +-
 alib2data/src/string/CyclicString.cpp         |  8 +++----
 alib2data/src/string/Epsilon.cpp              |  4 ++--
 alib2data/src/string/LinearString.cpp         |  8 +++----
 .../string/LinearStringTerminatingSymbol.cpp  |  8 +++----
 alib2data/src/string/String.cpp               |  2 +-
 alib2data/src/string/String.h                 |  7 +++----
 alib2data/src/string/StringBase.h             |  2 +-
 .../src/string/common/StringFromXMLParser.cpp |  2 +-
 .../src/string/common/StringToXMLComposer.cpp |  2 +-
 .../TerminatingSymbolStringAlphabet.cpp       |  2 +-
 alib2data/src/tree/RankedTreeWrapper.cpp      |  2 +-
 alib2data/src/tree/RankedTreeWrapper.h        |  7 +++----
 alib2data/src/tree/Tree.cpp                   |  2 +-
 alib2data/src/tree/Tree.h                     |  7 +++----
 alib2data/src/tree/TreeBase.h                 |  2 +-
 alib2data/src/tree/TreeException.h            |  2 +-
 alib2data/src/tree/UnrankedTreeWrapper.cpp    |  2 +-
 alib2data/src/tree/UnrankedTreeWrapper.h      |  7 +++----
 .../src/tree/common/TreeFromXMLParser.cpp     |  2 +-
 .../src/tree/common/TreeToXMLComposer.cpp     |  2 +-
 .../tree/ranked/PrefixRankedBarPattern.cpp    |  8 +++----
 .../src/tree/ranked/PrefixRankedBarTree.cpp   |  8 +++----
 .../src/tree/ranked/PrefixRankedPattern.cpp   |  8 +++----
 .../src/tree/ranked/PrefixRankedTree.cpp      |  8 +++----
 alib2data/src/tree/ranked/RankedPattern.cpp   |  8 +++----
 alib2data/src/tree/ranked/RankedTree.cpp      |  8 +++----
 alib2data/src/tree/unranked/PrefixBarTree.cpp |  8 +++----
 .../src/tree/unranked/UnrankedPattern.cpp     |  8 +++----
 alib2data/src/tree/unranked/UnrankedTree.cpp  |  8 +++----
 171 files changed, 324 insertions(+), 367 deletions(-)
 rename {alib2data => alib2common}/src/exception/AlibException.cpp (98%)
 rename {alib2data => alib2common}/src/exception/AlibException.h (96%)
 delete mode 100644 alib2data/src/exception/ExceptionClasses.h
 delete mode 100644 alib2data/src/exception/ExceptionFeatures.h

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 491c8586bc..3d521b1e9f 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 85609cdc1f..09c52bcf1a 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 1aa39606cf..221db91ecc 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 b11c102248..1b555791f7 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 436eaca664..1aa35ba7ab 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 1f2a44f2bb..e0f3377599 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 3dc1f0334b..8448b8c73b 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 e9431758a7..5cefece0e3 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 c7df8b9018..3e3275049b 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 497d410945..d6ece36930 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 428cc6ca08..b4c614c1a9 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 cd849195fe..5a496295fb 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 9b7a5e8e3b..5b9a9657f2 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 217395b7a2..19d3afc794 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 772a52da6c..850f15f51f 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 d1f404f350..ecfcfb6c4b 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 85f1c2ed4a..8a08b27443 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 17df534105..a0660e9e2b 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 6e685e4f13..e31eb82604 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 c56bce939a..5ce793b376 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 ea29128a01..4a81e4886d 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 99ad765079..5d3a2039a9 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 f282fd6f37..1643f72c75 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 c3a13a53c3..4bd23c2ca6 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 6161c200f2..0b9650f327 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 bdc232762b..225c48e1fd 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 c8f29e846d..80dcbd1b45 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 3d938927fd..a1e5f0f8c3 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 e2f2b61431..043c549501 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 92f5f06c97..459e45a3af 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 0465db8582..252db94103 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 461e7cf24b..ce3d3249dd 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 837bb436f9..c87326c1c3 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 827fb806af..a8224926a7 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 d803e7992a..5b25192b27 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 4cbb5b9dc5..69c2ad96cc 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 bb54c8ddcf..5bc11b7d4c 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 e3ecf53f8e..947032c829 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 b019786bb7..a22ace81f3 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 c7f480fcc0..eaf4b4b6e6 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 84a3d20e2f..fe03a222c4 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 3718cf9835..1dafb9b6c2 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 f70ed39e30..16777ba689 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 38e84dac12..c0ea30534a 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 75e62adbcc..4a73626296 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 4eb3b870b5..6a2f320adf 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 1a91cbe22e..0688c98a3a 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 cbfa54bd74..a7e68fc660 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 e8cd516e22..cf3aa8d068 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 e48cb2581f..7f9943fe10 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 c55c5936a4..7beb376796 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 3e851b7ba9..fb9e36ce40 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 35bb179915..b508a919b1 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 178d30ae9e..ee35c546b7 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 96bd7ef762..a1e249a726 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 aafd12c5e3..d9e04d8c56 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 d2efe1a2e8..9bf5cd8aff 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 af31ce951f..c17fc147cd 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 a400e58951..2cda082364 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 6605b1449d..8253e946f9 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 83bbf8edf6..56bc43ca39 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 67592b494b..0000000000
--- 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 f780986bb9..0000000000
--- 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 d8ce4f8102..9ec05921ae 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 3b2bcee195..182ee502b6 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 763425b888..ef3a78fbd6 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 979e8b72d4..3bdf501495 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 3e819629dc..f1d4562f07 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 c8db64a1ec..2a000a25d2 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 ccf68cb7ec..4df47db8e5 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 4b101a905b..073124593e 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 d59b45ff50..4f37b12ecb 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 ccb469d52c..f0afab20a2 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 7e9bd58504..ef73aff61c 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 6977f57a56..924584c48d 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 4e2225df04..3f4ccd5546 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 5c4736934f..b3c5d7ff32 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 6dbac5ca0c..5957b54295 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 9a41042529..724833e800 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 fe6872e04b..1cd8fdb7cf 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 4df2ccf638..93230a838a 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 75b8ca67f4..5ac49a0daa 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 5482e20587..bb90dca86d 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 f5871fc07e..c9c6634c98 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 452bde3a6e..71f0a98c12 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 ad6ffbe636..349666b752 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 595ffd9f98..b1e1beaebd 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 929fa79b6c..a20d5a5e8d 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 731aa67022..07bda77fcf 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 814355da3f..340508e271 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 5b0c620b21..1794195b09 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 7586259609..44dbb9ab35 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 6d8f07908c..450cd05a54 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 df270584b1..c25af0dce3 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 8897659992..596054f561 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 1d28549f91..8bc367b7c1 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 3ac0cd7f2c..28585603d9 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 01fd5b6e3f..d661b00169 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 88a543c1e1..c922205a89 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 42395baa94..50ed20cf6e 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 d31cfb385d..de57f684e6 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 5708c28b20..c5142d7412 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 d142c14653..cfb0193f06 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 39a872d89b..32ea7a89bd 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 5a53fd2c69..51b10b0d20 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 88e4b9d9f6..1206a0e4fe 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 cc05894711..275587993b 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 82034aee3c..22e8f01448 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 4cbf954a92..472fbc17ec 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 ac6ae58030..fdeb2da857 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 9df1296071..714cb74c58 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 3ef4b130e1..4215ab9f73 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 d6677ee685..49269ba820 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 4dc1081110..764d855919 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 5774ddffaf..b35bae9c71 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 1f6dc22150..ad9b50bd71 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 a51bc9b6a8..fbf24fd562 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 480b51d61b..3c316fcd28 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 4ff1949b23..dbb07c0dc0 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 a9cff07fb6..2f4fb55c89 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 374050a180..c9f0181979 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 c2534061f2..05e27fda83 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 c06de9e3c2..95bfe1bca0 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 ce6a12272a..71071653e8 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 655f0dced6..2feb2a58c1 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 505c46b337..857784b82d 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 e9c12f8a0d..a49df09683 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 412b7ca4c9..cb24baa72b 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 09d873c82f..e75313531b 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 6454ef7a52..8e710f9253 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 ad8b79a9eb..d0958e2ad3 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 12b3d9bfc9..4219e95311 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 32ca5ee090..d842c93f01 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 4a8a16fca1..5dcb416466 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 906479361c..5a5f116dca 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 0acaac54e9..a26ad5f17c 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 6e36208705..a12e30b22d 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 60d258cca1..f4dc0d2698 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 17e8a1521d..675aa123cd 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 74b902cc6f..30d3782d0a 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 81915a22e5..6e0e1ce597 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 a0095b9761..a139c22977 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 9ea3d94c18..6adf92ec24 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 8313b14bc6..3e9a41ae63 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 d9789c81b9..af56a1fc5e 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 41f89ac8f7..e725323477 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 f8f9337037..a33cfa3541 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 9127db30d2..69fe896c63 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 b6c173d8f0..e931fd3c2d 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 d81410d9be..f6a3ae204e 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 289af0eaf4..fa7a6eb788 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 50ba738b92..403bd7884d 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 a62d81782a..2d8ce6b720 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 7cf4a4006d..4c15c79bda 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 a2433d72f4..b570d691fd 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 d56577859f..ccfa179ee5 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 110507cf4b..c724087d27 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 1a30f23de7..5afeb57dd5 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 ea97583916..2fecc5cf56 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 8f1123cf7d..6e6489bdc4 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 16fbdf31a4..3ae21204f7 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 6a34cf7e90..b0bec827c0 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 e920530e34..b8c2ca395c 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 55741eba18..34cbe53dbc 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 a646a8c292..ee34f5d171 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 838f8f0e8b..792162bb88 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 30143cb2b4..26cac4cfbc 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 9ef2e8ce2a..4b71f4fc73 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 561ce63c0e..88746798e0 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 df483fd32c..204ce0d74e 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 c7c877d041..0073ae24f5 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 {
 
-- 
GitLab