diff --git a/alib2str/src/tree/string/ranked/RankedNonlinearPattern.cpp b/alib2str/src/tree/string/ranked/RankedNonlinearPattern.cpp
deleted file mode 100644
index 987ce681d3377eb320186a23d34e798d876bdc6b..0000000000000000000000000000000000000000
--- a/alib2str/src/tree/string/ranked/RankedNonlinearPattern.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * RankedNonlinearPattern.cpp
- *
- * Created on: Sep 27, 2017
- * Author: Jan Travnicek
- */
-
-#include "RankedNonlinearPattern.h"
-#include <tree/Tree.h>
-
-#include <registration/StringRegistration.hpp>
-
-namespace {
-
-auto stringWrite = registration::StringWriterRegister < tree::RankedNonlinearPattern < > > ( );
-auto stringReader = registration::StringReaderRegister < tree::Tree, tree::RankedNonlinearPattern < > > ( );
-
-} /* namespace */
diff --git a/alib2str/src/tree/string/ranked/RankedNonlinearPattern.cxx b/alib2str/src/tree/string/ranked/RankedNonlinearPattern.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..249f2079d8ff4ca3459e4a680fb2401c7b34ab90
--- /dev/null
+++ b/alib2str/src/tree/string/ranked/RankedNonlinearPattern.cxx
@@ -0,0 +1,18 @@
+/*
+ * RankedNonlinearPattern.cpp
+ *
+ * Created on: Sep 27, 2017
+ * Author: Jan Travnicek
+ */
+
+#include "RankedNonlinearPattern.h"
+#include <tree/Tree.h>
+
+#include <registration/StringRegistration.hpp>
+
+namespace {
+
+auto stringWriteRankedNonlinearPattern = registration::StringWriterRegister < tree::RankedNonlinearPattern < > > ( );
+auto stringReaderRankedNonlinearPattern = registration::StringReaderRegister < tree::Tree, tree::RankedNonlinearPattern < > > ( );
+
+} /* namespace */
diff --git a/alib2str/src/tree/string/ranked/RankedNonlinearPattern.h b/alib2str/src/tree/string/ranked/RankedNonlinearPattern.h
index 850d2fe41426c8018d3b553938b879496088f4bc..f4af5026252d6d726b670b830767ea423bf1f9ac 100644
--- a/alib2str/src/tree/string/ranked/RankedNonlinearPattern.h
+++ b/alib2str/src/tree/string/ranked/RankedNonlinearPattern.h
@@ -5,8 +5,8 @@
  * Author: Jan Travnicek
  */
 
-#ifndef _STRING_RANKED_PATTERN_H_
-#define _STRING_RANKED_PATTERN_H_
+#ifndef _STRING_RANKED_NONLINEAR_PATTERN_H_
+#define _STRING_RANKED_NONLINEAR_PATTERN_H_
 
 #include <tree/ranked/RankedNonlinearPattern.h>
 #include <core/stringApi.hpp>
@@ -56,4 +56,4 @@ void stringApi < tree::RankedNonlinearPattern < SymbolType > >::compose ( std::o
 
 } /* namespace core */
 
-#endif /* _STRING_RANKED_PATTERN_H_ */
+#endif /* _STRING_RANKED_NONLINEAR_PATTERN_H_ */
diff --git a/alib2str/src/tree/string/ranked/RankedPattern.cpp b/alib2str/src/tree/string/ranked/RankedPattern.cxx
similarity index 50%
rename from alib2str/src/tree/string/ranked/RankedPattern.cpp
rename to alib2str/src/tree/string/ranked/RankedPattern.cxx
index 75b7389d2e58e400019d30ec683812d8f8c122b3..052bb62fa0ccc64f9d33fd14bb47cccbed61a48e 100644
--- a/alib2str/src/tree/string/ranked/RankedPattern.cpp
+++ b/alib2str/src/tree/string/ranked/RankedPattern.cxx
@@ -12,7 +12,7 @@
 
 namespace {
 
-auto stringWrite = registration::StringWriterRegister < tree::RankedPattern < > > ( );
-auto stringReader = registration::StringReaderRegister < tree::Tree, tree::RankedPattern < > > ( );
+auto stringWriteRankedPattern = registration::StringWriterRegister < tree::RankedPattern < > > ( );
+auto stringReaderRankedPattern = registration::StringReaderRegister < tree::Tree, tree::RankedPattern < > > ( );
 
 } /* namespace */
diff --git a/alib2str/src/tree/string/ranked/RankedTree.cpp b/alib2str/src/tree/string/ranked/RankedTree.cxx
similarity index 51%
rename from alib2str/src/tree/string/ranked/RankedTree.cpp
rename to alib2str/src/tree/string/ranked/RankedTree.cxx
index 382ec276195555a6c554a9c1d5a827fb50f4eb35..760e03b40e15850c25b8ca5e0e84fbd6c520ab17 100644
--- a/alib2str/src/tree/string/ranked/RankedTree.cpp
+++ b/alib2str/src/tree/string/ranked/RankedTree.cxx
@@ -12,7 +12,7 @@
 
 namespace {
 
-auto stringWrite = registration::StringWriterRegister < tree::RankedTree < > > ( );
-auto stringReader = registration::StringReaderRegister < tree::Tree, tree::RankedTree < > > ( );
+auto stringWriteRankedTree = registration::StringWriterRegister < tree::RankedTree < > > ( );
+auto stringReaderRankedTree = registration::StringReaderRegister < tree::Tree, tree::RankedTree < > > ( );
 
 } /* namespace */
diff --git a/alib2str/src/tree/string/ranked/Tree.cpp b/alib2str/src/tree/string/ranked/Tree.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..89e98d49f7c70c4443ea803038b9a3a10b01eebb
--- /dev/null
+++ b/alib2str/src/tree/string/ranked/Tree.cpp
@@ -0,0 +1,3 @@
+#include "RankedNonlinearPattern.cxx"
+#include "RankedPattern.cxx"
+#include "RankedTree.cxx"
diff --git a/alib2str/src/tree/string/unranked/Tree.cpp b/alib2str/src/tree/string/unranked/Tree.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..b8e18033c2231161685024538746229d5c141d29
--- /dev/null
+++ b/alib2str/src/tree/string/unranked/Tree.cpp
@@ -0,0 +1,3 @@
+#include "UnrankedNonlinearPattern.cxx"
+#include "UnrankedPattern.cxx"
+#include "UnrankedTree.cxx"
diff --git a/alib2str/src/tree/string/unranked/UnrankedNonlinearPattern.cpp b/alib2str/src/tree/string/unranked/UnrankedNonlinearPattern.cpp
deleted file mode 100644
index b1aff7a99535a75c25617c24602320f1e8575cfd..0000000000000000000000000000000000000000
--- a/alib2str/src/tree/string/unranked/UnrankedNonlinearPattern.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * UnrankedNonlinearPattern.cpp
- *
- * Created on: Sep 27, 2017
- * Author: Jan Travnicek
- */
-
-#include "UnrankedNonlinearPattern.h"
-#include <tree/Tree.h>
-
-#include <registration/StringRegistration.hpp>
-
-namespace {
-
-auto stringWrite = registration::StringWriterRegister < tree::UnrankedNonlinearPattern < > > ( );
-auto stringReader = registration::StringReaderRegister < tree::Tree, tree::UnrankedNonlinearPattern < > > ( );
-
-} /* namespace */
diff --git a/alib2str/src/tree/string/unranked/UnrankedNonlinearPattern.cxx b/alib2str/src/tree/string/unranked/UnrankedNonlinearPattern.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..50b5b1ebaca6b399b1e952db7089d5ebbc0ab683
--- /dev/null
+++ b/alib2str/src/tree/string/unranked/UnrankedNonlinearPattern.cxx
@@ -0,0 +1,18 @@
+/*
+ * UnrankedNonlinearPattern.cpp
+ *
+ * Created on: Sep 27, 2017
+ * Author: Jan Travnicek
+ */
+
+#include "UnrankedNonlinearPattern.h"
+#include <tree/Tree.h>
+
+#include <registration/StringRegistration.hpp>
+
+namespace {
+
+auto stringWriteUnrankedNonlinearPattern = registration::StringWriterRegister < tree::UnrankedNonlinearPattern < > > ( );
+auto stringReaderUnrankedNonlinearPattern = registration::StringReaderRegister < tree::Tree, tree::UnrankedNonlinearPattern < > > ( );
+
+} /* namespace */
diff --git a/alib2str/src/tree/string/unranked/UnrankedNonlinearPattern.h b/alib2str/src/tree/string/unranked/UnrankedNonlinearPattern.h
index 77ffdfd3729874fd991691e4bb96265a4bb7217a..6e4f8a128f3ea3b67de68469898efdbb8c6bc1de 100644
--- a/alib2str/src/tree/string/unranked/UnrankedNonlinearPattern.h
+++ b/alib2str/src/tree/string/unranked/UnrankedNonlinearPattern.h
@@ -5,8 +5,8 @@
  * Author: Jan Travnicek
  */
 
-#ifndef _STRING_UNRANKED_PATTERN_H_
-#define _STRING_UNRANKED_PATTERN_H_
+#ifndef _STRING_UNRANKED_NONLINEAR_PATTERN_H_
+#define _STRING_UNRANKED_NONLINEAR_PATTERN_H_
 
 #include <tree/unranked/UnrankedNonlinearPattern.h>
 #include <core/stringApi.hpp>
@@ -56,4 +56,4 @@ void stringApi < tree::UnrankedNonlinearPattern < SymbolType > >::compose ( std:
 
 } /* namespace core */
 
-#endif /* _STRING_UNRANKED_PATTERN_H_ */
+#endif /* _STRING_UNRANKED_NONLINEAR_PATTERN_H_ */
diff --git a/alib2str/src/tree/string/unranked/UnrankedPattern.cpp b/alib2str/src/tree/string/unranked/UnrankedPattern.cpp
deleted file mode 100644
index 65515dd27f6111d7e0ba3586f365fc3f0197266a..0000000000000000000000000000000000000000
--- a/alib2str/src/tree/string/unranked/UnrankedPattern.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * UnrankedPattern.cpp
- *
- * Created on: Sep 27, 2017
- * Author: Jan Travnicek
- */
-
-#include "UnrankedPattern.h"
-#include <tree/Tree.h>
-
-#include <registration/StringRegistration.hpp>
-
-namespace {
-
-auto stringWrite = registration::StringWriterRegister < tree::UnrankedPattern < > > ( );
-auto stringReader = registration::StringReaderRegister < tree::Tree, tree::UnrankedPattern < > > ( );
-
-} /* namespace */
diff --git a/alib2str/src/tree/string/unranked/UnrankedPattern.cxx b/alib2str/src/tree/string/unranked/UnrankedPattern.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..2031f2e7b15afeec08d7bbea27c30ed0152c7542
--- /dev/null
+++ b/alib2str/src/tree/string/unranked/UnrankedPattern.cxx
@@ -0,0 +1,18 @@
+/*
+ * UnrankedPattern.cpp
+ *
+ * Created on: Sep 27, 2017
+ * Author: Jan Travnicek
+ */
+
+#include "UnrankedPattern.h"
+#include <tree/Tree.h>
+
+#include <registration/StringRegistration.hpp>
+
+namespace {
+
+auto stringWriteUnrankedPattern = registration::StringWriterRegister < tree::UnrankedPattern < > > ( );
+auto stringReaderUnrankedPattern = registration::StringReaderRegister < tree::Tree, tree::UnrankedPattern < > > ( );
+
+} /* namespace */
diff --git a/alib2str/src/tree/string/unranked/UnrankedTree.cpp b/alib2str/src/tree/string/unranked/UnrankedTree.cxx
similarity index 50%
rename from alib2str/src/tree/string/unranked/UnrankedTree.cpp
rename to alib2str/src/tree/string/unranked/UnrankedTree.cxx
index afe90c1a8ac6baa5d4246fa73da24cfc542a5339..7eaaa22e360025c5c5b1c97f1e3028da785ae582 100644
--- a/alib2str/src/tree/string/unranked/UnrankedTree.cpp
+++ b/alib2str/src/tree/string/unranked/UnrankedTree.cxx
@@ -12,7 +12,7 @@
 
 namespace {
 
-auto stringWrite = registration::StringWriterRegister < tree::UnrankedTree < > > ( );
-auto stringReader = registration::StringReaderRegister < tree::Tree, tree::UnrankedTree < > > ( );
+auto stringWriteUnrankedTree = registration::StringWriterRegister < tree::UnrankedTree < > > ( );
+auto stringReaderUnrankedTree = registration::StringReaderRegister < tree::Tree, tree::UnrankedTree < > > ( );
 
 } /* namespace */