diff --git a/alib2algo/src/grammar/simplify/Rename.cpp b/alib2algo/src/grammar/simplify/Rename.cpp
index 730ab65e3f3e2892e74b09c6a4f3fd1513365689..f2c12479a4bb7e512b1a4c84e049ffd1006366e6 100644
--- a/alib2algo/src/grammar/simplify/Rename.cpp
+++ b/alib2algo/src/grammar/simplify/Rename.cpp
@@ -29,10 +29,10 @@ grammar::Grammar Rename::rename ( const grammar::Grammar & grammar ) {
 grammar::RightRG < > Rename::rename ( const grammar::RightRG < > & rrg ) {
 	int counter = 0;
 
-	std::map < alphabet::Symbol, alphabet::Symbol > renamingData;
+	std::map < DefaultSymbolType, DefaultSymbolType > renamingData;
 
 	for ( auto iter = rrg.getNonterminalAlphabet ( ).begin ( ); iter != rrg.getNonterminalAlphabet ( ).end ( ); iter++ )
-		renamingData.insert ( std::make_pair ( * iter, alphabet::Symbol ( std::toBase26 ( counter++ ) ) ) );
+		renamingData.insert ( std::make_pair ( * iter, DefaultSymbolType ( std::toBase26 ( counter++ ) ) ) );
 
 	grammar::RightRG < > result ( renamingData.find ( rrg.getInitialSymbol ( ) )->second );
 	result.setGeneratesEpsilon ( rrg.getGeneratesEpsilon ( ) );
@@ -44,12 +44,12 @@ grammar::RightRG < > Rename::rename ( const grammar::RightRG < > & rrg ) {
 	const auto raw = rrg.getRawRules ( );
 
 	for ( auto iter = raw.begin ( ); iter != raw.end ( ); iter++ )
-		for ( const std::vector < alphabet::Symbol > & rhs : iter->second ) {
+		for ( const std::vector < DefaultSymbolType > & rhs : iter->second ) {
 			if ( rhs.size ( ) == 0 ) continue; // eps rule in raws...
 
-			std::vector < alphabet::Symbol > rewrited;
+			std::vector < DefaultSymbolType > rewrited;
 
-			for ( const alphabet::Symbol & rhs_symbol : rhs ) {
+			for ( const DefaultSymbolType & rhs_symbol : rhs ) {
 				if ( rrg.getNonterminalAlphabet ( ).count ( rhs_symbol ) > 0 )
 					rewrited.push_back ( renamingData.find ( rhs_symbol )->second );
 				else
@@ -67,10 +67,10 @@ auto RenameRightRG = Rename::RegistratorWrapper < grammar::RightRG < >, grammar:
 grammar::LeftRG < > Rename::rename ( const grammar::LeftRG < > & rrg ) {
 	int counter = 0;
 
-	std::map < alphabet::Symbol, alphabet::Symbol > renamingData;
+	std::map < DefaultSymbolType, DefaultSymbolType > renamingData;
 
 	for ( auto iter = rrg.getNonterminalAlphabet ( ).begin ( ); iter != rrg.getNonterminalAlphabet ( ).end ( ); iter++ )
-		renamingData.insert ( std::make_pair ( * iter, alphabet::Symbol ( std::toBase26 ( counter++ ) ) ) );
+		renamingData.insert ( std::make_pair ( * iter, DefaultSymbolType ( std::toBase26 ( counter++ ) ) ) );
 
 	grammar::LeftRG < > result ( renamingData.find ( rrg.getInitialSymbol ( ) )->second );
 	result.setGeneratesEpsilon ( rrg.getGeneratesEpsilon ( ) );
@@ -82,12 +82,12 @@ grammar::LeftRG < > Rename::rename ( const grammar::LeftRG < > & rrg ) {
 	const auto raw = rrg.getRawRules ( );
 
 	for ( auto iter = raw.begin ( ); iter != raw.end ( ); iter++ )
-		for ( const std::vector < alphabet::Symbol > & rhs : iter->second ) {
+		for ( const std::vector < DefaultSymbolType > & rhs : iter->second ) {
 			if ( rhs.size ( ) == 0 ) continue; // eps rule in raws...
 
-			std::vector < alphabet::Symbol > rewrited;
+			std::vector < DefaultSymbolType > rewrited;
 
-			for ( const alphabet::Symbol & rhs_symbol : rhs ) {
+			for ( const DefaultSymbolType & rhs_symbol : rhs ) {
 				if ( rrg.getNonterminalAlphabet ( ).count ( rhs_symbol ) > 0 )
 					rewrited.push_back ( renamingData.find ( rhs_symbol )->second );
 				else