diff --git a/alib2algo/src/rte/glushkov/GlushkovFirst.h b/alib2algo/src/rte/glushkov/GlushkovFirst.h
index 1e125f39d65df2cd4c528cdd45664457ad4333f0..86b43019d1cedca435e3b487df7688cb2f0961c7 100644
--- a/alib2algo/src/rte/glushkov/GlushkovFirst.h
+++ b/alib2algo/src/rte/glushkov/GlushkovFirst.h
@@ -12,7 +12,6 @@
 #include <common/ranked_symbol.hpp>
 
 #include <rte/formal/FormalRTE.h>
-#include <rte/RTEFeatures.h>
 
 namespace rte {
 
diff --git a/alib2algo/src/rte/glushkov/GlushkovIndexate.h b/alib2algo/src/rte/glushkov/GlushkovIndexate.h
index c0f4ddad7710f4d850d1ff9be72dc25dd3a5492a..544820d68cc2884df632ce21af056466a627b4eb 100644
--- a/alib2algo/src/rte/glushkov/GlushkovIndexate.h
+++ b/alib2algo/src/rte/glushkov/GlushkovIndexate.h
@@ -11,7 +11,6 @@
 #include <common/ranked_symbol.hpp>
 
 #include <rte/formal/FormalRTE.h>
-#include <rte/RTEFeatures.h>
 
 namespace rte {
 
diff --git a/alib2algo/src/rte/glushkov/GlushkovPos.h b/alib2algo/src/rte/glushkov/GlushkovPos.h
index bcce9ff7cfad4c4657cfe26f7dfc6d430506066a..ca405e45db039aa16258f75884aa5f71aa97ef31 100644
--- a/alib2algo/src/rte/glushkov/GlushkovPos.h
+++ b/alib2algo/src/rte/glushkov/GlushkovPos.h
@@ -11,7 +11,6 @@
 #include <common/ranked_symbol.hpp>
 
 #include <rte/formal/FormalRTE.h>
-#include <rte/RTEFeatures.h>
 #include <rte/formal/FormalRTEElements.h>
 
 namespace rte {
diff --git a/alib2data/src/rte/RTEFeatures.h b/alib2data/src/rte/RTEFeatures.h
deleted file mode 100644
index 404a9f2a9395bd925648e64617faf5a92608f996..0000000000000000000000000000000000000000
--- a/alib2data/src/rte/RTEFeatures.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * RTEFeatures.h
- *
- *  Created on: Feb 20, 2016
- *      Author: Tomas Pecka
- */
-
-
-#ifndef RTE_FEATURES_H_
-#define RTE_FEATURES_H_
-
-#include <common/DefaultSymbolType.h>
-#include <common/DefaultRankType.h>
-
-namespace rte {
-
-class RTE;
-class RTEBase;
-
-template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType >
-class FormalRTE;
-template < class SymbolType, class RankType >
-class FormalRTEStructure;
-
-template < class SymbolType, class RankType >
-class FormalRTEElement;
-template < class SymbolType, class RankType >
-class FormalRTEAlternation;
-template < class SymbolType, class RankType >
-class FormalRTEIteration;
-template < class SymbolType, class RankType >
-class FormalRTESubstitution;
-template < class SymbolType, class RankType >
-class FormalRTESymbolSubst;
-template < class SymbolType, class RankType >
-class FormalRTESymbolAlphabet;
-template < class SymbolType, class RankType >
-class FormalRTEEmpty;
-
-} /* namespace rte */
-
-#endif /* RTE_FEATURES_H_ */
diff --git a/alib2data/src/rte/formal/FormalRTE.h b/alib2data/src/rte/formal/FormalRTE.h
index 603c11bff826086ca824b78d1087101b494f18ab..1d00dd5586a1571857e5feeb3ad228e619eb86fb 100644
--- a/alib2data/src/rte/formal/FormalRTE.h
+++ b/alib2data/src/rte/formal/FormalRTE.h
@@ -34,9 +34,10 @@
 #include <object/UniqueObject.h>
 #include <exception/CommonException.h>
 
-#include "../RTEBase.h"
-#include "../RTEFeatures.h"
+#include <common/DefaultSymbolType.h>
+#include <common/DefaultRankType.h>
 
+#include <rte/RTEBase.h>
 #include "FormalRTEStructure.h"
 
 #include <core/normalize.hpp>
@@ -70,7 +71,7 @@ class ConstantAlphabet;
  * \tparam SymbolType used for the symbol part of the ranked symbol
  * \tparam RankType used for the rank part of the ranked symbol
  */
-template < class SymbolType, class RankType >
+template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType >
 class FormalRTE final : public RTEBase, public core::Components < FormalRTE < SymbolType, RankType >, ext::set < common::ranked_symbol < SymbolType, RankType > >, component::Set, std::tuple < GeneralAlphabet, ConstantAlphabet > > {
 	/**
 	 * The structure of the regular tree expression.
diff --git a/alib2data/src/rte/formal/FormalRTEElement.h b/alib2data/src/rte/formal/FormalRTEElement.h
index 60311830c7c37d6c22415353d6d87a3ec0884e4a..53d8e6a353c3538a10f861a215a52ba5870698d7 100644
--- a/alib2data/src/rte/formal/FormalRTEElement.h
+++ b/alib2data/src/rte/formal/FormalRTEElement.h
@@ -29,10 +29,24 @@
 #include <alib/set>
 #include <alib/tree>
 #include <core/visitor.hpp>
-#include "../RTEFeatures.h"
 
 namespace rte {
 
+template < class SymbolType, class RankType >
+class FormalRTEElement;
+template < class SymbolType, class RankType >
+class FormalRTEAlternation;
+template < class SymbolType, class RankType >
+class FormalRTEIteration;
+template < class SymbolType, class RankType >
+class FormalRTESubstitution;
+template < class SymbolType, class RankType >
+class FormalRTESymbolSubst;
+template < class SymbolType, class RankType >
+class FormalRTESymbolAlphabet;
+template < class SymbolType, class RankType >
+class FormalRTEEmpty;
+
 /**
  * Abstract class representing element in the formal regular tree expression. Can be an operator, special node, or a symbol.
  *
diff --git a/alib2data/src/rte/xml/common/RTEFromXmlParser.h b/alib2data/src/rte/xml/common/RTEFromXmlParser.h
index 74c714357fd17cc89efdeee138d7a9e6fab5f774..ed74096f41dc42bc8c6d5cb2ce8ee4b995a4231e 100644
--- a/alib2data/src/rte/xml/common/RTEFromXmlParser.h
+++ b/alib2data/src/rte/xml/common/RTEFromXmlParser.h
@@ -16,7 +16,6 @@
 
 #include <exception/CommonException.h>
 
-#include <rte/RTEFeatures.h>
 #include <rte/formal/FormalRTEElements.h>
 
 
diff --git a/alib2data/src/rte/xml/common/RTEToXmlComposer.h b/alib2data/src/rte/xml/common/RTEToXmlComposer.h
index eabf059137d7ea9f33a2032530e806783acf310f..80279f411f904d09a6be1a035bd93169ce529b1b 100644
--- a/alib2data/src/rte/xml/common/RTEToXmlComposer.h
+++ b/alib2data/src/rte/xml/common/RTEToXmlComposer.h
@@ -9,7 +9,6 @@
 #define RTE_TO_XML_COMPOSER_H_
 
 #include <alib/deque>
-#include <rte/RTEFeatures.h>
 #include <rte/formal/FormalRTEElement.h>
 #include <sax/Token.h>
 #include <core/xmlApi.hpp>