diff --git a/CMakeLists.txt b/CMakeLists.txt
index e5e04fcda81b7985306690bc36e085180e28927b..721b631ce623a1a75a8d9f2e6eec338dd9b6b1c7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -55,6 +55,6 @@ add_executable(search-engine search.cpp query/Query.cpp)
 
 add_executable(ISRWord-tests constraintSolver/tests/ISRWordTests.cpp)
 
-#find_package(OpenSSL REQUIRED)
+find_package(OpenSSL REQUIRED)
 
-#target_link_libraries(crawler-parser-test OpenSSL::SSL pthread)
+target_link_libraries(crawler-parser-test OpenSSL::SSL pthread)
diff --git a/crawler/SocketReader.cpp b/crawler/SocketReader.cpp
index 56fe0c21ac05b033169c2bca3a1035186871a0ea..172f64b5d3a4b5fc33bccbb4b2dab5d654bbc5ea 100644
--- a/crawler/SocketReader.cpp
+++ b/crawler/SocketReader.cpp
@@ -48,6 +48,7 @@ char * GetArbitrarySizeBuffer(int s )
 		front = temp + strlen(http_buff);
 		delete[] http_buff;
 		http_buff = temp;
+
 		}
 
 	return http_buff;
diff --git a/parser/Parser.cpp b/parser/Parser.cpp
index 334c1235e72037244377cd2b84683cecd1231bcc..56d964606788aa4f85b6c26b7e7ee8f0d921c249 100644
--- a/parser/Parser.cpp
+++ b/parser/Parser.cpp
@@ -32,7 +32,8 @@ void Parser::parse ( string html, ParsedUrl currentUrl, Tokenizer *tokenizer )
 	{
 
 	auto htmlIt = html.begin( );
-	unsigned long offset = 0;
+	unsigned long offsetTitle = 0;
+	unsigned long offsetURL = 0;
 
 	// tokenize url
 	string host = "";
@@ -41,7 +42,7 @@ void Parser::parse ( string html, ParsedUrl currentUrl, Tokenizer *tokenizer )
 	path.assign( currentUrl.Path );
 	string url = host + "/" + path;
 
-	tokenizer->execute( url, offset, Tokenizer::URL );
+	offsetURL = tokenizer->execute( url, offsetURL, Tokenizer::URL );
 
 	while ( htmlIt != html.end( ) )
 		{
@@ -72,10 +73,9 @@ void Parser::parse ( string html, ParsedUrl currentUrl, Tokenizer *tokenizer )
 				string title = extract_title( line );
 				if ( title != "" )
 					{
-					tokenizer->execute( title, offset, Tokenizer::TITLE );
+					offsetTitle = tokenizer->execute( title, offsetTitle, Tokenizer::TITLE );
 					}
 				}
-			offset = htmlIt - html.begin( );
 			}
 		else
 			{
diff --git a/util/Tokenizer.cpp b/util/Tokenizer.cpp
index dfbb9c4c02e342bec0b4c2dd4a2db3ebfad41c5e..d8553e4c7218ddcafbbf68615299f0653ba4bd3d 100644
--- a/util/Tokenizer.cpp
+++ b/util/Tokenizer.cpp
@@ -28,7 +28,7 @@ unordered_map< string, vector< unsigned long > > *Tokenizer::get ( ) const
  * @param offset
  * @param decorator
  */
-void Tokenizer::execute ( string originalText, unsigned long offset, char decorator )
+unsigned long Tokenizer::execute ( string originalText, unsigned long offset, char decorator )
 	{
 	// split by symbols
 	if ( decorator == Tokenizer::URL )
@@ -36,12 +36,12 @@ void Tokenizer::execute ( string originalText, unsigned long offset, char decora
 		vector < char > split = { '.', ':', '/', '\\', '_', '?', '-', '~', '#', '[', ']', '@', '!', '$', '&', '\'',
 		                          '(', ')', '*', '+', ',', ';', '='};
 
-		tokenize( splitStr( originalText, split, true ), offset, decorator );
+		return tokenize( splitStr( originalText, split, true ), offset, decorator );
 		}
 	// split by spaces
 	else
 		{
-		tokenize( splitStr( originalText, ' ', true ), offset, decorator );
+		return tokenize( splitStr( originalText, ' ', true ), offset, decorator );
 		}
 	}
 
@@ -52,7 +52,7 @@ void Tokenizer::execute ( string originalText, unsigned long offset, char decora
  * @param offset
  * @param decorator
  */
-void Tokenizer::tokenize ( vector< string > splitText , unsigned long offset, char decorator )
+unsigned long Tokenizer::tokenize ( vector< string > splitText , unsigned long offset, char decorator )
 	{
 	string processedString = "";
 	for ( int i = 0; i < splitText.size( ); ++i )
@@ -73,5 +73,6 @@ void Tokenizer::tokenize ( vector< string > splitText , unsigned long offset, ch
 				++offset;
 			}
 		}
+	return offset;
 	}
 
diff --git a/util/Tokenizer.h b/util/Tokenizer.h
index 543f1dadbb4dc38aa61731739093e1da9936dc8a..6a8c3730c4af9aa740260f81048d56973b81cc35 100644
--- a/util/Tokenizer.h
+++ b/util/Tokenizer.h
@@ -40,7 +40,7 @@ public:
 	 * @param offset
 	 * @param decorator
 	 */
-	void execute ( string originalText, unsigned long offset, char decorator = '\0' );
+	unsigned long execute ( string originalText, unsigned long offset, char decorator = '\0' );
 
 private:
 
@@ -54,6 +54,6 @@ private:
 	 * @param offset
 	 * @param decorator
 	 */
-	void tokenize ( vector< string > splitText, unsigned long offset, char decorator );
+	unsigned long tokenize ( vector< string > splitText, unsigned long offset, char decorator );
 
 	};