diff --git a/alib2algo/src/grammar/simplify/EpsilonRemover.h b/alib2algo/src/grammar/simplify/EpsilonRemover.h
index cfca0a6886d9bf6ff4de5baecab218b42448aeaf..bf72f63eb001e0299c0670e81187e03cac6c5561 100644
--- a/alib2algo/src/grammar/simplify/EpsilonRemover.h
+++ b/alib2algo/src/grammar/simplify/EpsilonRemover.h
@@ -36,7 +36,7 @@ class EpsilonRemover {
 	static void removeNullableNonterminals(grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > & grammar, const ext::set < NonterminalSymbolType >& nullableNonterminals, const NonterminalSymbolType & lhs, const ext::vector<ext::variant < TerminalSymbolType, NonterminalSymbolType > > & rhs, unsigned i, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > clear);
 
 	template<class T, class TerminalSymbolType = typename grammar::TerminalSymbolTypeOfGrammar < T >, class NonterminalSymbolType = typename grammar::NonterminalSymbolTypeOfGrammar < T > >
-	static grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > removeInternal( const T & origGrammar );
+	static grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > removeInternal( const T & grammar );
 
 public:
 	/**
@@ -174,75 +174,75 @@ void EpsilonRemover::removeNullableNonterminals(grammar::EpsilonFreeCFG < Termin
 }
 
 template<class T, class TerminalSymbolType, class NonterminalSymbolType >
-grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::removeInternal( const T & origGrammar ) {
-	grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > grammar(origGrammar.getInitialSymbol());
+grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::removeInternal( const T & grammar ) {
+	grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > result(grammar.getInitialSymbol());
 
-	for( const auto & symbol : origGrammar.getNonterminalAlphabet() )
-		grammar.addNonterminalSymbol( symbol );
+	for( const auto & symbol : grammar.getNonterminalAlphabet() )
+		result.addNonterminalSymbol( symbol );
 
-	for( const auto & symbol : origGrammar.getTerminalAlphabet() )
-		grammar.addTerminalSymbol( symbol );
+	for( const auto & symbol : grammar.getTerminalAlphabet() )
+		result.addTerminalSymbol( symbol );
 
-	ext::set < NonterminalSymbolType > nullableNonterminals = grammar::properties::NullableNonterminals::getNullableNonterminals(origGrammar);
+	ext::set < NonterminalSymbolType > nullableNonterminals = grammar::properties::NullableNonterminals::getNullableNonterminals(grammar);
 
-	auto rawRules = grammar::RawRules::getRawRules ( origGrammar );
+	auto rawRules = grammar::RawRules::getRawRules ( grammar );
 
 	for( const auto & rule : rawRules )
 		for(const auto & rhs : rule.second) {
 			if(rhs.size() == 0) continue;
 
-			EpsilonRemover::removeNullableNonterminals(grammar, nullableNonterminals, rule.first, rhs, 0, {});
+			EpsilonRemover::removeNullableNonterminals(result, nullableNonterminals, rule.first, rhs, 0, {});
 		}
 
-	if(nullableNonterminals.find(origGrammar.getInitialSymbol()) != nullableNonterminals.end())
-		grammar.setGeneratesEpsilon(true);
+	if(nullableNonterminals.find(grammar.getInitialSymbol()) != nullableNonterminals.end())
+		result.setGeneratesEpsilon(true);
 
-	return grammar;
+	return result;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::CFG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return EpsilonRemover::removeInternal(origGrammar);
+grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::CFG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return EpsilonRemover::removeInternal(grammar);
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return origGrammar;
+grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return grammar;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::CNF < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::CNF < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return origGrammar;
+grammar::CNF < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::CNF < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return grammar;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::GNF < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::GNF < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return origGrammar;
+grammar::GNF < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::GNF < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return grammar;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::LG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return EpsilonRemover::removeInternal(origGrammar);
+grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::LG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return EpsilonRemover::removeInternal(grammar);
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::LeftLG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return EpsilonRemover::removeInternal(origGrammar);
+grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::LeftLG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return EpsilonRemover::removeInternal(grammar);
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::LeftRG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::LeftRG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return origGrammar;
+grammar::LeftRG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::LeftRG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return grammar;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::RightLG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return EpsilonRemover::removeInternal(origGrammar);
+grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::RightLG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return EpsilonRemover::removeInternal(grammar);
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return origGrammar;
+grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > EpsilonRemover::remove(const grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return grammar;
 }
 
 } /* namespace simplify */
diff --git a/alib2algo/src/grammar/simplify/SimpleRulesRemover.h b/alib2algo/src/grammar/simplify/SimpleRulesRemover.h
index 5ca91b785989460c12801c8d7873308b760099e1..ec8c212d86881700e41ad997cc58eac7dc317460 100644
--- a/alib2algo/src/grammar/simplify/SimpleRulesRemover.h
+++ b/alib2algo/src/grammar/simplify/SimpleRulesRemover.h
@@ -155,95 +155,95 @@ public:
 };
 
 template < class T, class TerminalSymbolType, class NonterminalSymbolType >
-T SimpleRulesRemover::removeNonEpsilonFree( const T & origGrammar ) {
-	T grammar(origGrammar.getInitialSymbol());
+T SimpleRulesRemover::removeNonEpsilonFree( const T & grammar ) {
+	T result(grammar.getInitialSymbol());
 
-	for( const auto & symbol : origGrammar.getNonterminalAlphabet() )
-		grammar.addNonterminalSymbol( symbol );
+	for( const auto & symbol : grammar.getNonterminalAlphabet() )
+		result.addNonterminalSymbol( symbol );
 
-	for( const auto & symbol : origGrammar.getTerminalAlphabet() )
-		grammar.addTerminalSymbol( symbol );
+	for( const auto & symbol : grammar.getTerminalAlphabet() )
+		result.addTerminalSymbol( symbol );
 
-	auto rawRules = grammar::RawRules::getRawRules ( origGrammar );
+	auto rawRules = grammar::RawRules::getRawRules ( grammar );
 
-	for( const auto & symbol : origGrammar.getNonterminalAlphabet() ) {
-		ext::set < NonterminalSymbolType > simpleRulesClosure = grammar::properties::NonterminalUnitRuleCycle::getNonterminalUnitRuleCycle(origGrammar, symbol);
+	for( const auto & symbol : grammar.getNonterminalAlphabet() ) {
+		ext::set < NonterminalSymbolType > simpleRulesClosure = grammar::properties::NonterminalUnitRuleCycle::getNonterminalUnitRuleCycle(grammar, symbol);
 		for( const auto & closureSymbol : simpleRulesClosure ) {
 			auto rules = rawRules.find(closureSymbol);
 			if(rules != rawRules.end()) for( const auto& rawRule : rules->second ) {
-				if(rawRule.size() == 0 || (rawRule.size() == 1 && !origGrammar.getNonterminalAlphabet().count(rawRule[0])) || rawRule.size() >= 2)
-					grammar::AddRawRule::addRawRule ( grammar, symbol, rawRule);
+				if(rawRule.size() == 0 || (rawRule.size() == 1 && !grammar.getNonterminalAlphabet().count(rawRule[0])) || rawRule.size() >= 2)
+					grammar::AddRawRule::addRawRule ( result, symbol, rawRule);
 			}
 		}
 	}
 
-	return grammar;
+	return result;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::CFG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::CFG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return removeNonEpsilonFree(origGrammar);
+grammar::CFG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::CFG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return removeNonEpsilonFree(grammar);
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > grammar(origGrammar.getInitialSymbol());
+grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > result(grammar.getInitialSymbol());
 
-	for( const auto & symbol : origGrammar.getNonterminalAlphabet() )
-		grammar.addNonterminalSymbol( symbol );
+	for( const auto & symbol : grammar.getNonterminalAlphabet() )
+		result.addNonterminalSymbol( symbol );
 
-	for( const auto & symbol : origGrammar.getTerminalAlphabet() )
-		grammar.addTerminalSymbol( symbol );
+	for( const auto & symbol : grammar.getTerminalAlphabet() )
+		result.addTerminalSymbol( symbol );
 
-	for( const auto & symbol : origGrammar.getNonterminalAlphabet() ) {
-		ext::set < NonterminalSymbolType > simpleRulesClosure = grammar::properties::NonterminalUnitRuleCycle::getNonterminalUnitRuleCycle ( origGrammar, symbol );
+	for( const auto & symbol : grammar.getNonterminalAlphabet() ) {
+		ext::set < NonterminalSymbolType > simpleRulesClosure = grammar::properties::NonterminalUnitRuleCycle::getNonterminalUnitRuleCycle ( grammar, symbol );
 		for( const auto & closureSymbol : simpleRulesClosure ) {
-			auto rules = origGrammar.getRules().find(closureSymbol);
-			if(rules != origGrammar.getRules().end()) for( const auto& rawRule : rules->second ) {
-				if(rawRule.size() == 0 || (rawRule.size() == 1 && !origGrammar.getNonterminalAlphabet().count(rawRule[0])) || rawRule.size() >= 2)
-					grammar.addRule(symbol, rawRule);
+			auto rules = grammar.getRules().find(closureSymbol);
+			if(rules != grammar.getRules().end()) for( const auto& rawRule : rules->second ) {
+				if(rawRule.size() == 0 || (rawRule.size() == 1 && !grammar.getNonterminalAlphabet().count(rawRule[0])) || rawRule.size() >= 2)
+					result.addRule(symbol, rawRule);
 			}
 		}
 	}
 
-	grammar.setGeneratesEpsilon(origGrammar.getGeneratesEpsilon());
+	result.setGeneratesEpsilon(grammar.getGeneratesEpsilon());
 
-	return grammar;
+	return result;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::CNF < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::CNF < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return origGrammar;
+grammar::CNF < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::CNF < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return grammar;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::GNF < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::GNF < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return origGrammar;
+grammar::GNF < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::GNF < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return grammar;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::LG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::LG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return removeNonEpsilonFree(origGrammar);
+grammar::LG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::LG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return removeNonEpsilonFree(grammar);
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::LeftLG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::LeftLG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return removeNonEpsilonFree(origGrammar);
+grammar::LeftLG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::LeftLG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return removeNonEpsilonFree(grammar);
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::LeftRG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::LeftRG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return origGrammar;
+grammar::LeftRG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::LeftRG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return grammar;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::RightLG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::RightLG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return removeNonEpsilonFree(origGrammar);
+grammar::RightLG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::RightLG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return removeNonEpsilonFree(grammar);
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return origGrammar;
+grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > SimpleRulesRemover::remove(const grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return grammar;
 }
 
 } /* namespace simplify */
diff --git a/alib2algo/src/grammar/simplify/ToCNF.h b/alib2algo/src/grammar/simplify/ToCNF.h
index 9035cd29eaece1b31b9d2503f4f76372356af103..3d251f9b6872dc199d3ce657f381ca257f5da25c 100644
--- a/alib2algo/src/grammar/simplify/ToCNF.h
+++ b/alib2algo/src/grammar/simplify/ToCNF.h
@@ -154,27 +154,27 @@ public:
 };
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::CNF < TerminalSymbolType, NonterminalSymbolType > ToCNF::convert(const grammar::CNF < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return origGrammar;
+grammar::CNF < TerminalSymbolType, NonterminalSymbolType > ToCNF::convert(const grammar::CNF < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return grammar;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::CNF < TerminalSymbolType,  ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToCNF::convert ( const grammar::LeftRG < TerminalSymbolType, NonterminalSymbolType > & origGrammar ) {
-	grammar::CNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > result ( origGrammar.getInitialSymbol ( ) );
+grammar::CNF < TerminalSymbolType,  ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToCNF::convert ( const grammar::LeftRG < TerminalSymbolType, NonterminalSymbolType > & grammar ) {
+	grammar::CNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > result ( grammar.getInitialSymbol ( ) );
 
-	for ( const NonterminalSymbolType & nonterminal : origGrammar.getNonterminalAlphabet ( ) )
+	for ( const NonterminalSymbolType & nonterminal : grammar.getNonterminalAlphabet ( ) )
 		result.addNonterminalSymbol ( nonterminal );
-	result.setTerminalAlphabet ( origGrammar.getTerminalAlphabet ( ) );
+	result.setTerminalAlphabet ( grammar.getTerminalAlphabet ( ) );
 
 	ext::map < TerminalSymbolType, TerminalSymbolType > terminalToShadowNonterminal;
-	for ( const TerminalSymbolType & symbol : origGrammar.getTerminalAlphabet ( ) ) {
+	for ( const TerminalSymbolType & symbol : grammar.getTerminalAlphabet ( ) ) {
 		TerminalSymbolType shadowSymbol = common::createUnique ( symbol, result.getTerminalAlphabet ( ), result.getNonterminalAlphabet ( ) );
 		terminalToShadowNonterminal.insert ( std::make_pair ( symbol, shadowSymbol ) );
 		result.addNonterminalSymbol ( shadowSymbol );
 		result.addRule ( std::move ( shadowSymbol ), symbol );
 	}
 
-	for ( const std::pair < NonterminalSymbolType, ext::set < ext::variant < TerminalSymbolType, ext::pair < NonterminalSymbolType, TerminalSymbolType > > > > & rules : origGrammar.getRules ( ) ) {
+	for ( const std::pair < NonterminalSymbolType, ext::set < ext::variant < TerminalSymbolType, ext::pair < NonterminalSymbolType, TerminalSymbolType > > > > & rules : grammar.getRules ( ) ) {
 		for ( const ext::variant < TerminalSymbolType, ext::pair < NonterminalSymbolType, TerminalSymbolType > > & rhs : rules.second ) {
 			if ( rhs.template is < TerminalSymbolType > ( ) ) {
 				result.addRule ( rules.first, rhs.template get < TerminalSymbolType > ( ) );
@@ -185,28 +185,28 @@ grammar::CNF < TerminalSymbolType,  ext::variant < TerminalSymbolType, Nontermin
 		}
 	}
 
-	result.setGeneratesEpsilon ( origGrammar.getGeneratesEpsilon ( ) );
+	result.setGeneratesEpsilon ( grammar.getGeneratesEpsilon ( ) );
 
 	return result;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::CNF < TerminalSymbolType,  ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToCNF::convert ( const grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > & origGrammar ) {
-	grammar::CNF < TerminalSymbolType,  ext::variant < TerminalSymbolType, NonterminalSymbolType > > result ( origGrammar.getInitialSymbol ( ) );
+grammar::CNF < TerminalSymbolType,  ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToCNF::convert ( const grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > & grammar ) {
+	grammar::CNF < TerminalSymbolType,  ext::variant < TerminalSymbolType, NonterminalSymbolType > > result ( grammar.getInitialSymbol ( ) );
 
-	for ( const NonterminalSymbolType & nonterminal : origGrammar.getNonterminalAlphabet ( ) )
+	for ( const NonterminalSymbolType & nonterminal : grammar.getNonterminalAlphabet ( ) )
 		result.addNonterminalSymbol ( nonterminal );
-	result.setTerminalAlphabet ( origGrammar.getTerminalAlphabet ( ) );
+	result.setTerminalAlphabet ( grammar.getTerminalAlphabet ( ) );
 
 	ext::map < TerminalSymbolType, TerminalSymbolType > terminalToShadowNonterminal;
-	for ( const TerminalSymbolType & symbol : origGrammar.getTerminalAlphabet ( ) ) {
+	for ( const TerminalSymbolType & symbol : grammar.getTerminalAlphabet ( ) ) {
 		TerminalSymbolType shadowSymbol = common::createUnique ( symbol, result.getTerminalAlphabet ( ), result.getNonterminalAlphabet ( ) );
 		terminalToShadowNonterminal.insert ( std::make_pair ( symbol, shadowSymbol ) );
 		result.addNonterminalSymbol ( shadowSymbol );
 		result.addRule ( std::move ( shadowSymbol ), symbol );
 	}
 
-	for ( const std::pair < NonterminalSymbolType, ext::set < ext::variant < TerminalSymbolType, ext::pair < TerminalSymbolType, NonterminalSymbolType > > > > & rules : origGrammar.getRules ( ) ) {
+	for ( const std::pair < NonterminalSymbolType, ext::set < ext::variant < TerminalSymbolType, ext::pair < TerminalSymbolType, NonterminalSymbolType > > > > & rules : grammar.getRules ( ) ) {
 		for ( const ext::variant < TerminalSymbolType, ext::pair < TerminalSymbolType, NonterminalSymbolType > > & rhs : rules.second ) {
 			if ( rhs.template is < TerminalSymbolType > ( ) ) {
 				result.addRule ( rules.first, rhs.template get < TerminalSymbolType > ( ) );
@@ -217,7 +217,7 @@ grammar::CNF < TerminalSymbolType,  ext::variant < TerminalSymbolType, Nontermin
 		}
 	}
 
-	result.setGeneratesEpsilon ( origGrammar.getGeneratesEpsilon ( ) );
+	result.setGeneratesEpsilon ( grammar.getGeneratesEpsilon ( ) );
 
 	return result;
 }
@@ -243,27 +243,27 @@ void splitRule ( ext::vector < ext::variant < TerminalSymbolType, NonterminalSym
 }
 
 template < class T, class TerminalSymbolType = typename grammar::TerminalSymbolTypeOfGrammar < T >, class NonterminalSymbolType = typename grammar::NonterminalSymbolTypeOfGrammar < T > >
-grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > convertInternal( const T & origGrammar ) {
-	grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > result ( ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > { origGrammar.getInitialSymbol ( ) } );
+grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > convertInternal( const T & grammar ) {
+	grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > result ( ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > { grammar.getInitialSymbol ( ) } );
 
-	for ( const NonterminalSymbolType & nonterminal : origGrammar.getNonterminalAlphabet ( ) )
+	for ( const NonterminalSymbolType & nonterminal : grammar.getNonterminalAlphabet ( ) )
 		result.addNonterminalSymbol ( ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > { nonterminal } );
 
-	result.setTerminalAlphabet ( origGrammar.getTerminalAlphabet ( ) );
+	result.setTerminalAlphabet ( grammar.getTerminalAlphabet ( ) );
 
-	for ( const TerminalSymbolType & symbol : origGrammar.getTerminalAlphabet ( ) ) {
+	for ( const TerminalSymbolType & symbol : grammar.getTerminalAlphabet ( ) ) {
 		result.addNonterminalSymbol ( ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > { symbol } );
 		result.addRule ( ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > { symbol }, symbol );
 	}
 
-	for ( const auto & rules : origGrammar.getRules ( ) ) {
+	for ( const auto & rules : grammar.getRules ( ) ) {
 		for ( const ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > & rhs : rules.second ) {
 			if ( rhs.size ( ) == 1 ) {
 				result.addRule ( ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > { rules.first }, rhs [ 0 ].template get < TerminalSymbolType > ( ) );
 			} else {
 				ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > rawRule;
 				for ( const ext::variant < TerminalSymbolType, NonterminalSymbolType > & symbol : rhs ) {
-					if ( origGrammar.getTerminalAlphabet ( ).count ( symbol ) )
+					if ( grammar.getTerminalAlphabet ( ).count ( symbol ) )
 						rawRule.push_back ( symbol.template get < TerminalSymbolType > ( ) );
 					else
 						rawRule.push_back ( symbol );
@@ -274,36 +274,36 @@ grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolTy
 		}
 	}
 
-	result.setGeneratesEpsilon ( origGrammar.getGeneratesEpsilon ( ) );
+	result.setGeneratesEpsilon ( grammar.getGeneratesEpsilon ( ) );
 
 	return result;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > ToCNF::convert(const grammar::CFG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return convert(grammar::simplify::EpsilonRemover::remove(origGrammar));
+grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > ToCNF::convert(const grammar::CFG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return convert(grammar::simplify::EpsilonRemover::remove(grammar));
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > ToCNF::convert(const grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(origGrammar));
+grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > ToCNF::convert(const grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar));
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > ToCNF::convert ( const grammar::GNF < TerminalSymbolType, NonterminalSymbolType > & origGrammar ) {
-	grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > result ( ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > { origGrammar.getInitialSymbol ( ) } );
+grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > ToCNF::convert ( const grammar::GNF < TerminalSymbolType, NonterminalSymbolType > & grammar ) {
+	grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > result ( ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > { grammar.getInitialSymbol ( ) } );
 
-	for ( const NonterminalSymbolType & nonterminal : origGrammar.getNonterminalAlphabet ( ) )
+	for ( const NonterminalSymbolType & nonterminal : grammar.getNonterminalAlphabet ( ) )
 		result.addNonterminalSymbol ( ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > { nonterminal } );
 
-	result.setTerminalAlphabet ( origGrammar.getTerminalAlphabet ( ) );
+	result.setTerminalAlphabet ( grammar.getTerminalAlphabet ( ) );
 
-	for ( const TerminalSymbolType & symbol : origGrammar.getTerminalAlphabet ( ) ) {
+	for ( const TerminalSymbolType & symbol : grammar.getTerminalAlphabet ( ) ) {
 		result.addNonterminalSymbol ( ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > { symbol } );
 		result.addRule ( ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > { symbol }, symbol );
 	}
 
-	for ( const auto & rules : origGrammar.getRules ( ) ) {
+	for ( const auto & rules : grammar.getRules ( ) ) {
 		for ( const ext::pair < TerminalSymbolType, ext::vector < NonterminalSymbolType > > & rhs : rules.second ) {
 			if ( rhs.second.size ( ) == 0 )
 				result.addRule ( ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > { rules.first }, rhs.first );
@@ -315,24 +315,24 @@ grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolTy
 		}
 	}
 
-	result.setGeneratesEpsilon ( origGrammar.getGeneratesEpsilon ( ) );
+	result.setGeneratesEpsilon ( grammar.getGeneratesEpsilon ( ) );
 
 	return result;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > ToCNF::convert(const grammar::LG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::EpsilonRemover::remove(origGrammar)));
+grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > ToCNF::convert(const grammar::LG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::EpsilonRemover::remove(grammar)));
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > ToCNF::convert(const grammar::LeftLG< TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::EpsilonRemover::remove(origGrammar)));
+grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > ToCNF::convert(const grammar::LeftLG< TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::EpsilonRemover::remove(grammar)));
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > ToCNF::convert(const grammar::RightLG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::EpsilonRemover::remove(origGrammar)));
+grammar::CNF < TerminalSymbolType, ext::vector < ext::variant < TerminalSymbolType, NonterminalSymbolType > > > ToCNF::convert(const grammar::RightLG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::EpsilonRemover::remove(grammar)));
 }
 
 } /* namespace simplify */
diff --git a/alib2algo/src/grammar/simplify/ToGNF.h b/alib2algo/src/grammar/simplify/ToGNF.h
index a6bd4f15155696c5e948383c176f45e9a4ff8b79..8eb29c6d9bba5ead3eb2f17bf853a3eddd6e9a6e 100644
--- a/alib2algo/src/grammar/simplify/ToGNF.h
+++ b/alib2algo/src/grammar/simplify/ToGNF.h
@@ -233,48 +233,48 @@ grammar::GNF < TerminalSymbolType, ext::variant < TerminalSymbolType, Nontermina
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::GNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToGNF::convert ( const grammar::CFG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return convert(grammar::simplify::EpsilonRemover::remove(origGrammar));
+grammar::GNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToGNF::convert ( const grammar::CFG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return convert(grammar::simplify::EpsilonRemover::remove(grammar));
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::GNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToGNF::convert(const grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::LeftRecursionRemover::remove(origGrammar)));
+grammar::GNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToGNF::convert(const grammar::EpsilonFreeCFG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::LeftRecursionRemover::remove(grammar)));
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::GNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToGNF::convert(const grammar::CNF < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return convertInternal(grammar::simplify::LeftRecursionRemover::remove(origGrammar));
+grammar::GNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToGNF::convert(const grammar::CNF < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return convertInternal(grammar::simplify::LeftRecursionRemover::remove(grammar));
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::GNF < TerminalSymbolType, NonterminalSymbolType > ToGNF::convert(const grammar::GNF < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return origGrammar;
+grammar::GNF < TerminalSymbolType, NonterminalSymbolType > ToGNF::convert(const grammar::GNF < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return grammar;
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::GNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToGNF::convert(const grammar::LG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::LeftRecursionRemover::remove(grammar::simplify::EpsilonRemover::remove(origGrammar))));
+grammar::GNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToGNF::convert(const grammar::LG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::LeftRecursionRemover::remove(grammar::simplify::EpsilonRemover::remove(grammar))));
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::GNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToGNF::convert(const grammar::LeftLG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::LeftRecursionRemover::remove(grammar::simplify::EpsilonRemover::remove(origGrammar))));
+grammar::GNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToGNF::convert(const grammar::LeftLG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::LeftRecursionRemover::remove(grammar::simplify::EpsilonRemover::remove(grammar))));
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > ToGNF::convert(const grammar::LeftRG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return convert::ToGrammarRightRG::convert(origGrammar);
+grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > ToGNF::convert(const grammar::LeftRG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return convert::ToGrammarRightRG::convert(grammar);
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::GNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToGNF::convert(const grammar::RightLG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::LeftRecursionRemover::remove(grammar::simplify::EpsilonRemover::remove(origGrammar))));
+grammar::GNF < TerminalSymbolType, ext::variant < TerminalSymbolType, NonterminalSymbolType > > ToGNF::convert(const grammar::RightLG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return convertInternal(grammar::simplify::SimpleRulesRemover::remove(grammar::simplify::LeftRecursionRemover::remove(grammar::simplify::EpsilonRemover::remove(grammar))));
 }
 
 template < class TerminalSymbolType, class NonterminalSymbolType >
-grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > ToGNF::convert(const grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > & origGrammar) {
-	return origGrammar;
+grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > ToGNF::convert(const grammar::RightRG < TerminalSymbolType, NonterminalSymbolType > & grammar) {
+	return grammar;
 }
 
 } /* namespace simplify */
diff --git a/alib2data/src/automaton/FSM/MultiInitialStateEpsilonNFA.h b/alib2data/src/automaton/FSM/MultiInitialStateEpsilonNFA.h
index a092e22542a12394e72858a8a1512b54776eb1f3..f1a5d99ca719968857db9f24ed6a045b1205d119 100644
--- a/alib2data/src/automaton/FSM/MultiInitialStateEpsilonNFA.h
+++ b/alib2data/src/automaton/FSM/MultiInitialStateEpsilonNFA.h
@@ -100,7 +100,7 @@ public:
 	 * \param initialState the initial state of the automaton
 	 * \param finalStates the initial set of final states of the automaton
 	 */
-	explicit MultiInitialStateEpsilonNFA ( ext::set < StateType > states, ext::set < SymbolType > inputAlphabet, ext::set < StateType > initialState, ext::set < StateType > finalStates );
+	explicit MultiInitialStateEpsilonNFA ( ext::set < StateType > states, ext::set < SymbolType > inputAlphabet, ext::set < StateType > initialStates, ext::set < StateType > finalStates );
 
 	/*
 	 * \brief Creates a new instance of Nondeterministic finite automaton based on the Deterministic finite automaton.
diff --git a/alib2data/src/regexp/formal/FormalRegExpAlternation.h b/alib2data/src/regexp/formal/FormalRegExpAlternation.h
index c2178b110d68c319232f1f2f5a88a5e1a2215667..cd7cabe7579893857660a9047910bf16a20c3b6f 100644
--- a/alib2data/src/regexp/formal/FormalRegExpAlternation.h
+++ b/alib2data/src/regexp/formal/FormalRegExpAlternation.h
@@ -197,7 +197,7 @@ public:
 namespace regexp {
 
 template < class SymbolType >
-FormalRegExpAlternation < SymbolType >::FormalRegExpAlternation ( FormalRegExpElement < SymbolType > && leftElement, FormalRegExpElement < SymbolType > && rightElement ) : ext::BinaryNode < FormalRegExpElement < SymbolType >, FormalRegExpAlternation < SymbolType > > ( std::move ( leftElement ), std::move ( rightElement ) ) {
+FormalRegExpAlternation < SymbolType >::FormalRegExpAlternation ( FormalRegExpElement < SymbolType > && left, FormalRegExpElement < SymbolType > && right ) : ext::BinaryNode < FormalRegExpElement < SymbolType >, FormalRegExpAlternation < SymbolType > > ( std::move ( left ), std::move ( right ) ) {
 }
 
 template < class SymbolType >
diff --git a/alib2data/src/regexp/formal/FormalRegExpIteration.h b/alib2data/src/regexp/formal/FormalRegExpIteration.h
index d95ca819cb6a33f5e05b88932cae81ca1ab2b639..280a4e128a7adc562cabca10d64b15b8363e78ff 100644
--- a/alib2data/src/regexp/formal/FormalRegExpIteration.h
+++ b/alib2data/src/regexp/formal/FormalRegExpIteration.h
@@ -186,13 +186,13 @@ FormalRegExpElement < SymbolType > & FormalRegExpIteration < SymbolType >::getEl
 }
 
 template < class SymbolType >
-void FormalRegExpIteration < SymbolType >::setElement ( FormalRegExpElement < SymbolType > && elementParam ) {
-	this->setChild ( std::move ( elementParam ) );
+void FormalRegExpIteration < SymbolType >::setElement ( FormalRegExpElement < SymbolType > && element ) {
+	this->setChild ( std::move ( element ) );
 }
 
 template < class SymbolType >
-void FormalRegExpIteration < SymbolType >::setElement ( const FormalRegExpElement < SymbolType > & elementParam ) {
-	setElement ( ext::move_copy ( elementParam ) );
+void FormalRegExpIteration < SymbolType >::setElement ( const FormalRegExpElement < SymbolType > & element ) {
+	setElement ( ext::move_copy ( element ) );
 }
 
 template < class SymbolType >
diff --git a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h
index 076b87fd5de6bd0c96fb4d19f7f62c0918cd4b31..820f7c62e833b1d19658fdf3e73a2cb0f3a69afb 100644
--- a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h
+++ b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h
@@ -109,7 +109,7 @@ public:
 	 * \param alphabet the initial alphabet of the pattern
 	 * \param data the initial pattern in linear representation
 	 */
-	explicit PrefixRankedBarPattern ( ext::set < common::ranked_symbol < SymbolType, RankType > > bar, common::ranked_symbol < SymbolType, RankType > variablesBar, common::ranked_symbol < SymbolType, RankType > subtreeWildcard, ext::set < common::ranked_symbol < SymbolType, RankType > > alphabet, ext::vector < common::ranked_symbol < SymbolType, RankType > > data );
+	explicit PrefixRankedBarPattern ( ext::set < common::ranked_symbol < SymbolType, RankType > > bars, common::ranked_symbol < SymbolType, RankType > variablesBar, common::ranked_symbol < SymbolType, RankType > subtreeWildcard, ext::set < common::ranked_symbol < SymbolType, RankType > > alphabet, ext::vector < common::ranked_symbol < SymbolType, RankType > > data );
 
 	/**
 	 * \brief Creates a new instance of the pattern with concrete bars, content, wildcard, and variables bar. The alphabet is deduced from the content.
@@ -119,7 +119,7 @@ public:
 	 * \param subtreeWildcard the wildcard symbol
 	 * \param data the initial pattern in linear representation
 	 */
-	explicit PrefixRankedBarPattern ( ext::set < common::ranked_symbol < SymbolType, RankType > > bar, common::ranked_symbol < SymbolType, RankType > variablesBar, common::ranked_symbol < SymbolType, RankType > subtreeWildcard, ext::vector < common::ranked_symbol < SymbolType, RankType > > data );
+	explicit PrefixRankedBarPattern ( ext::set < common::ranked_symbol < SymbolType, RankType > > bars, common::ranked_symbol < SymbolType, RankType > variablesBar, common::ranked_symbol < SymbolType, RankType > subtreeWildcard, ext::vector < common::ranked_symbol < SymbolType, RankType > > data );
 
 	/**
 	 * \brief Creates a new instance of the pattern based on the RankedPattern. The linear representation is constructed (including bars) by preorder traversal on the tree parameter. Symbol part of bars and variables bar are provided as parameters.