diff --git a/alib2algo/src/arbology/query/FullAndLinearIndexPatterns.h b/alib2algo/src/arbology/query/FullAndLinearIndexPatterns.h
index eea3475d48dfaebe5eacc8d874d21e92159f8d0a..3df6c8bc8987bd1810fbbf7b7b5629a5b0533ccb 100644
--- a/alib2algo/src/arbology/query/FullAndLinearIndexPatterns.h
+++ b/alib2algo/src/arbology/query/FullAndLinearIndexPatterns.h
@@ -68,7 +68,7 @@ public:
 
 template < class SymbolType, class RankType, template < typename > class StringIndex, class StringIndexQueryAlgo >
 ext::set < unsigned > FullAndLinearIndexPatterns::query ( const indexes::arbology::FullAndLinearIndex < SymbolType, RankType, StringIndex > & fullAndLinearIndex, const tree::PrefixRankedPattern < SymbolType, RankType > & pattern ) {
-	ext::vector < unsigned > rev ( fullAndLinearIndex.getString ( ).size ( ), ( unsigned ) -1 );
+	ext::vector < unsigned > rev ( fullAndLinearIndex.getJumps ( ).size ( ), ( unsigned ) -1 );
 
 	ext::vector < ext::vector < common::ranked_symbol < SymbolType, RankType > > > treePatternParts;
 	treePatternParts.push_back ( ext::vector < common::ranked_symbol < SymbolType, RankType > > ( ) );
@@ -100,7 +100,7 @@ ext::set < unsigned > FullAndLinearIndexPatterns::query ( const indexes::arbolog
 
 template < class SymbolType, class RankType, template < typename > class StringIndex, class StringIndexQueryAlgo >
 ext::set < unsigned > FullAndLinearIndexPatterns::query ( const indexes::arbology::FullAndLinearIndex < SymbolType, RankType, StringIndex > & fullAndLinearIndex, const tree::PrefixRankedBarPattern < SymbolType, RankType > & pattern ) {
-	ext::vector < unsigned > rev ( fullAndLinearIndex.getString ( ).size ( ), ( unsigned ) -1 );
+	ext::vector < unsigned > rev ( fullAndLinearIndex.getJumps ( ).size ( ), ( unsigned ) -1 );
 
 	ext::vector < ext::vector < common::ranked_symbol < SymbolType, RankType > > > treePatternParts;
 	treePatternParts.push_back ( ext::vector < common::ranked_symbol < SymbolType, RankType > > ( ) );
diff --git a/alib2algo/src/arbology/query/NonlinearFullAndLinearIndexPatterns.h b/alib2algo/src/arbology/query/NonlinearFullAndLinearIndexPatterns.h
index 1f1c3bc5318f8ac56cfbc8f44787e837b6456896..e3a2cca90c67e07798f1078352cf8dfb2ad40f1b 100644
--- a/alib2algo/src/arbology/query/NonlinearFullAndLinearIndexPatterns.h
+++ b/alib2algo/src/arbology/query/NonlinearFullAndLinearIndexPatterns.h
@@ -69,7 +69,7 @@ public:
 template < class SymbolType, class RankType, template < typename > class StringIndex, class StringIndexQueryAlgo >
 ext::set < unsigned > NonlinearFullAndLinearIndexPatterns::query ( const indexes::arbology::NonlinearFullAndLinearIndex < SymbolType, RankType, StringIndex > & fullAndLinearIndex, const tree::PrefixRankedNonlinearPattern < SymbolType, RankType > & pattern ) {
 	ext::map < std::pair < unsigned, common::ranked_symbol < SymbolType, RankType > >, unsigned > nonlinearVariablesMap;
-	ext::vector < unsigned > rev ( fullAndLinearIndex.getString ( ).size ( ), ( unsigned ) -1 );
+	ext::vector < unsigned > rev ( fullAndLinearIndex.getJumps ( ).size ( ), ( unsigned ) -1 );
 
 	ext::vector < ext::vector < common::ranked_symbol < SymbolType, RankType > > > treePatternParts;
 	treePatternParts.push_back ( ext::vector < common::ranked_symbol < SymbolType, RankType > > ( ) );
@@ -115,7 +115,7 @@ ext::set < unsigned > NonlinearFullAndLinearIndexPatterns::query ( const indexes
 template < class SymbolType, class RankType, template < typename > class StringIndex, class StringIndexQueryAlgo >
 ext::set < unsigned > NonlinearFullAndLinearIndexPatterns::query ( const indexes::arbology::NonlinearFullAndLinearIndex < SymbolType, RankType, StringIndex > & fullAndLinearIndex, const tree::PrefixRankedBarNonlinearPattern < SymbolType, RankType > & pattern ) {
 	ext::map < std::pair < unsigned, common::ranked_symbol < SymbolType, RankType > >, unsigned > nonlinearVariablesMap;
-	ext::vector < unsigned > rev ( fullAndLinearIndex.getString ( ).size ( ), ( unsigned ) -1 );
+	ext::vector < unsigned > rev ( fullAndLinearIndex.getJumps ( ).size ( ), ( unsigned ) -1 );
 
 	ext::vector < ext::vector < common::ranked_symbol < SymbolType, RankType > > > treePatternParts;
 	treePatternParts.push_back ( ext::vector < common::ranked_symbol < SymbolType, RankType > > ( ) );
diff --git a/alib2data/src/indexes/arbology/FullAndLinearIndex.h b/alib2data/src/indexes/arbology/FullAndLinearIndex.h
index 5cdc99cf1e9556dcc4ad8e79048c488ed95d9e8f..164be921acf621184e0cbdacce7eacc0bb5dbb06 100644
--- a/alib2data/src/indexes/arbology/FullAndLinearIndex.h
+++ b/alib2data/src/indexes/arbology/FullAndLinearIndex.h
@@ -72,10 +72,6 @@ public:
 
 	ext::vector < int > && getJumps ( ) &&;
 
-	const ext::vector < common::ranked_symbol < SymbolType, RankType > > & getString ( ) const &;
-
-	ext::vector < common::ranked_symbol < SymbolType, RankType > > && getString ( ) &&;
-
 	const ext::set < common::ranked_symbol < SymbolType, RankType > > & getAlphabet ( ) const & {
 		return m_StringIndex.getAlphabet ( );
 	}
@@ -162,16 +158,6 @@ ext::vector < int > && FullAndLinearIndex < SymbolType, RankType, StringIndex >:
 	return std::move ( m_JumpTable );
 }
 
-template < class SymbolType, class RankType, template < typename > class StringIndex >
-const ext::vector < common::ranked_symbol < SymbolType, RankType > > & FullAndLinearIndex < SymbolType, RankType, StringIndex >::getString ( ) const & {
-	return m_StringIndex.getString ( );
-}
-
-template < class SymbolType, class RankType, template < typename > class StringIndex >
-ext::vector < common::ranked_symbol < SymbolType, RankType > > && FullAndLinearIndex < SymbolType, RankType, StringIndex >::getString ( ) && {
-	return std::move ( m_StringIndex ).getString ( );
-}
-
 template < class SymbolType, class RankType, template < typename > class StringIndex >
 void FullAndLinearIndex < SymbolType, RankType, StringIndex >::setStringIndex ( indexes::stringology::PositionHeap < common::ranked_symbol < SymbolType, RankType > > stringIndex ) {
 	this->m_StringIndex = std::move ( stringIndex );
diff --git a/alib2data/src/indexes/arbology/NonlinearFullAndLinearIndex.h b/alib2data/src/indexes/arbology/NonlinearFullAndLinearIndex.h
index db033c829854fe08958c0fb12e2c562790ccb310..58890d30950f3506e8a2e70edbdbdc0181a38463 100644
--- a/alib2data/src/indexes/arbology/NonlinearFullAndLinearIndex.h
+++ b/alib2data/src/indexes/arbology/NonlinearFullAndLinearIndex.h
@@ -80,10 +80,6 @@ public:
 
 	ext::vector < unsigned > && getRepeats ( ) &&;
 
-	const ext::vector < common::ranked_symbol < SymbolType, RankType > > & getString ( ) const &;
-
-	ext::vector < common::ranked_symbol < SymbolType, RankType > > && getString ( ) &&;
-
 	const ext::set < common::ranked_symbol < SymbolType, RankType > > & getAlphabet ( ) const & {
 		return m_StringIndex.getAlphabet ( );
 	}
@@ -180,16 +176,6 @@ ext::vector < unsigned > && NonlinearFullAndLinearIndex < SymbolType, RankType,
 	return std::move ( m_Repeats );
 }
 
-template < class SymbolType, class RankType, template < typename > class StringIndex >
-const ext::vector < common::ranked_symbol < SymbolType, RankType > > & NonlinearFullAndLinearIndex < SymbolType, RankType, StringIndex >::getString ( ) const & {
-	return m_StringIndex.getString ( );
-}
-
-template < class SymbolType, class RankType, template < typename > class StringIndex >
-ext::vector < common::ranked_symbol < SymbolType, RankType > > && NonlinearFullAndLinearIndex < SymbolType, RankType, StringIndex >::getString ( ) && {
-	return std::move ( m_StringIndex ).getString ( );
-}
-
 template < class SymbolType, class RankType, template < typename > class StringIndex >
 void NonlinearFullAndLinearIndex < SymbolType, RankType, StringIndex >::setStringIndex ( StringIndex < common::ranked_symbol < SymbolType, RankType > > stringIndex ) {
 	this->m_StringIndex = std::move ( stringIndex );