diff --git a/CMakeLists.txt b/CMakeLists.txt
index d36a63a7dd63e313980c34862355b8c07c791b11..2786d2a7849c43c803b34dbf2b03e10811d3196a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,7 +27,6 @@ add_executable(crawler-parser-test
         indexer/Indexer.cpp)
 
 
-
 add_executable(crawler-parser-indexer-test
         main.cpp
         shared/ProducerConsumerQueue.h
@@ -47,8 +46,6 @@ add_executable(crawler-parser-indexer-test
         util/stringProcessing.cpp
         indexer/Indexer.cpp)
 
-
-
 add_executable(StringProcessingTest
         util/stringProcessing.cpp
         util/Stemmer.cpp
diff --git a/crawler-parser-indexer-test b/crawler-parser-indexer-test
index 2bfa1ca01c8dbe046d320221faac217f9dfac637..dcf67adf120017d15bf2f08872e5600ad1bfef66 100755
Binary files a/crawler-parser-indexer-test and b/crawler-parser-indexer-test differ
diff --git a/indexer/Indexer.cpp b/indexer/Indexer.cpp
index af4bb1894a9d62b8e7e31d9b266ee25b8245d4b2..0a497cab1eb1195d0b1937d2f58737913d5906c9 100644
--- a/indexer/Indexer.cpp
+++ b/indexer/Indexer.cpp
@@ -38,7 +38,7 @@ void Indexer::run() {
         docEnd.docNumWords = indexedCount;
         docEndings.push_back(docEnd);
 
-        if(currentBlockNumberWords >= 30) {
+        if(currentBlockNumberWords >= 100000) {
             save();
             reset();
         }
diff --git a/makefile b/makefile
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a1924800f7e3df09988ecd9e837305b36140503e 100644
--- a/makefile
+++ b/makefile
@@ -0,0 +1,1089 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.9
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /Applications/CLion.app/Contents/bin/cmake/bin/cmake
+
+# The command to remove a file.
+RM = /Applications/CLion.app/Contents/bin/cmake/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /Users/jakeclose/Desktop/398/project/eecs398-search
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /Users/jakeclose/Desktop/398/project/eecs398-search
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
+	/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+
+.PHONY : edit_cache/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+	/Applications/CLion.app/Contents/bin/cmake/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+
+.PHONY : rebuild_cache/fast
+
+# The main all target
+all: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/jakeclose/Desktop/398/project/eecs398-search/CMakeFiles /Users/jakeclose/Desktop/398/project/eecs398-search/CMakeFiles/progress.marks
+	$(MAKE) -f CMakeFiles/Makefile2 all
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/jakeclose/Desktop/398/project/eecs398-search/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	$(MAKE) -f CMakeFiles/Makefile2 clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	$(MAKE) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	$(MAKE) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+#=============================================================================
+# Target rules for targets named StringProcessingTest
+
+# Build rule for target.
+StringProcessingTest: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 StringProcessingTest
+.PHONY : StringProcessingTest
+
+# fast build rule for target.
+StringProcessingTest/fast:
+	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/build
+.PHONY : StringProcessingTest/fast
+
+#=============================================================================
+# Target rules for targets named ISRWord-tests
+
+# Build rule for target.
+ISRWord-tests: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 ISRWord-tests
+.PHONY : ISRWord-tests
+
+# fast build rule for target.
+ISRWord-tests/fast:
+	$(MAKE) -f CMakeFiles/ISRWord-tests.dir/build.make CMakeFiles/ISRWord-tests.dir/build
+.PHONY : ISRWord-tests/fast
+
+#=============================================================================
+# Target rules for targets named URLTEST
+
+# Build rule for target.
+URLTEST: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 URLTEST
+.PHONY : URLTEST
+
+# fast build rule for target.
+URLTEST/fast:
+	$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/build
+.PHONY : URLTEST/fast
+
+#=============================================================================
+# Target rules for targets named SharedTableTest
+
+# Build rule for target.
+SharedTableTest: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 SharedTableTest
+.PHONY : SharedTableTest
+
+# fast build rule for target.
+SharedTableTest/fast:
+	$(MAKE) -f CMakeFiles/SharedTableTest.dir/build.make CMakeFiles/SharedTableTest.dir/build
+.PHONY : SharedTableTest/fast
+
+#=============================================================================
+# Target rules for targets named crawler-parser-test
+
+# Build rule for target.
+crawler-parser-test: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 crawler-parser-test
+.PHONY : crawler-parser-test
+
+# fast build rule for target.
+crawler-parser-test/fast:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/build
+.PHONY : crawler-parser-test/fast
+
+#=============================================================================
+# Target rules for targets named crawler-parser-indexer-test
+
+# Build rule for target.
+crawler-parser-indexer-test: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 crawler-parser-indexer-test
+.PHONY : crawler-parser-indexer-test
+
+# fast build rule for target.
+crawler-parser-indexer-test/fast:
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/build
+.PHONY : crawler-parser-indexer-test/fast
+
+#=============================================================================
+# Target rules for targets named ParserTest
+
+# Build rule for target.
+ParserTest: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 ParserTest
+.PHONY : ParserTest
+
+# fast build rule for target.
+ParserTest/fast:
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/build
+.PHONY : ParserTest/fast
+
+#=============================================================================
+# Target rules for targets named StemmerTest
+
+# Build rule for target.
+StemmerTest: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 StemmerTest
+.PHONY : StemmerTest
+
+# fast build rule for target.
+StemmerTest/fast:
+	$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/build
+.PHONY : StemmerTest/fast
+
+#=============================================================================
+# Target rules for targets named TokenizerTest
+
+# Build rule for target.
+TokenizerTest: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 TokenizerTest
+.PHONY : TokenizerTest
+
+# fast build rule for target.
+TokenizerTest/fast:
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/build
+.PHONY : TokenizerTest/fast
+
+#=============================================================================
+# Target rules for targets named search-engine
+
+# Build rule for target.
+search-engine: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 search-engine
+.PHONY : search-engine
+
+# fast build rule for target.
+search-engine/fast:
+	$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/build
+.PHONY : search-engine/fast
+
+#=============================================================================
+# Target rules for targets named QueueTest
+
+# Build rule for target.
+QueueTest: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 QueueTest
+.PHONY : QueueTest
+
+# fast build rule for target.
+QueueTest/fast:
+	$(MAKE) -f CMakeFiles/QueueTest.dir/build.make CMakeFiles/QueueTest.dir/build
+.PHONY : QueueTest/fast
+
+constraintSolver/ISRWord.o: constraintSolver/ISRWord.cpp.o
+
+.PHONY : constraintSolver/ISRWord.o
+
+# target to build an object file
+constraintSolver/ISRWord.cpp.o:
+	$(MAKE) -f CMakeFiles/ISRWord-tests.dir/build.make CMakeFiles/ISRWord-tests.dir/constraintSolver/ISRWord.cpp.o
+.PHONY : constraintSolver/ISRWord.cpp.o
+
+constraintSolver/ISRWord.i: constraintSolver/ISRWord.cpp.i
+
+.PHONY : constraintSolver/ISRWord.i
+
+# target to preprocess a source file
+constraintSolver/ISRWord.cpp.i:
+	$(MAKE) -f CMakeFiles/ISRWord-tests.dir/build.make CMakeFiles/ISRWord-tests.dir/constraintSolver/ISRWord.cpp.i
+.PHONY : constraintSolver/ISRWord.cpp.i
+
+constraintSolver/ISRWord.s: constraintSolver/ISRWord.cpp.s
+
+.PHONY : constraintSolver/ISRWord.s
+
+# target to generate assembly for a file
+constraintSolver/ISRWord.cpp.s:
+	$(MAKE) -f CMakeFiles/ISRWord-tests.dir/build.make CMakeFiles/ISRWord-tests.dir/constraintSolver/ISRWord.cpp.s
+.PHONY : constraintSolver/ISRWord.cpp.s
+
+constraintSolver/tests/ISRWordTests.o: constraintSolver/tests/ISRWordTests.cpp.o
+
+.PHONY : constraintSolver/tests/ISRWordTests.o
+
+# target to build an object file
+constraintSolver/tests/ISRWordTests.cpp.o:
+	$(MAKE) -f CMakeFiles/ISRWord-tests.dir/build.make CMakeFiles/ISRWord-tests.dir/constraintSolver/tests/ISRWordTests.cpp.o
+.PHONY : constraintSolver/tests/ISRWordTests.cpp.o
+
+constraintSolver/tests/ISRWordTests.i: constraintSolver/tests/ISRWordTests.cpp.i
+
+.PHONY : constraintSolver/tests/ISRWordTests.i
+
+# target to preprocess a source file
+constraintSolver/tests/ISRWordTests.cpp.i:
+	$(MAKE) -f CMakeFiles/ISRWord-tests.dir/build.make CMakeFiles/ISRWord-tests.dir/constraintSolver/tests/ISRWordTests.cpp.i
+.PHONY : constraintSolver/tests/ISRWordTests.cpp.i
+
+constraintSolver/tests/ISRWordTests.s: constraintSolver/tests/ISRWordTests.cpp.s
+
+.PHONY : constraintSolver/tests/ISRWordTests.s
+
+# target to generate assembly for a file
+constraintSolver/tests/ISRWordTests.cpp.s:
+	$(MAKE) -f CMakeFiles/ISRWord-tests.dir/build.make CMakeFiles/ISRWord-tests.dir/constraintSolver/tests/ISRWordTests.cpp.s
+.PHONY : constraintSolver/tests/ISRWordTests.cpp.s
+
+crawler/Readers/HttpReader.o: crawler/Readers/HttpReader.cpp.o
+
+.PHONY : crawler/Readers/HttpReader.o
+
+# target to build an object file
+crawler/Readers/HttpReader.cpp.o:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/Readers/HttpReader.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/Readers/HttpReader.cpp.o
+.PHONY : crawler/Readers/HttpReader.cpp.o
+
+crawler/Readers/HttpReader.i: crawler/Readers/HttpReader.cpp.i
+
+.PHONY : crawler/Readers/HttpReader.i
+
+# target to preprocess a source file
+crawler/Readers/HttpReader.cpp.i:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/Readers/HttpReader.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/Readers/HttpReader.cpp.i
+.PHONY : crawler/Readers/HttpReader.cpp.i
+
+crawler/Readers/HttpReader.s: crawler/Readers/HttpReader.cpp.s
+
+.PHONY : crawler/Readers/HttpReader.s
+
+# target to generate assembly for a file
+crawler/Readers/HttpReader.cpp.s:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/Readers/HttpReader.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/Readers/HttpReader.cpp.s
+.PHONY : crawler/Readers/HttpReader.cpp.s
+
+crawler/Readers/HttpsReader.o: crawler/Readers/HttpsReader.cpp.o
+
+.PHONY : crawler/Readers/HttpsReader.o
+
+# target to build an object file
+crawler/Readers/HttpsReader.cpp.o:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/Readers/HttpsReader.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/Readers/HttpsReader.cpp.o
+.PHONY : crawler/Readers/HttpsReader.cpp.o
+
+crawler/Readers/HttpsReader.i: crawler/Readers/HttpsReader.cpp.i
+
+.PHONY : crawler/Readers/HttpsReader.i
+
+# target to preprocess a source file
+crawler/Readers/HttpsReader.cpp.i:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/Readers/HttpsReader.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/Readers/HttpsReader.cpp.i
+.PHONY : crawler/Readers/HttpsReader.cpp.i
+
+crawler/Readers/HttpsReader.s: crawler/Readers/HttpsReader.cpp.s
+
+.PHONY : crawler/Readers/HttpsReader.s
+
+# target to generate assembly for a file
+crawler/Readers/HttpsReader.cpp.s:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/Readers/HttpsReader.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/Readers/HttpsReader.cpp.s
+.PHONY : crawler/Readers/HttpsReader.cpp.s
+
+crawler/Readers/LocalReader.o: crawler/Readers/LocalReader.cpp.o
+
+.PHONY : crawler/Readers/LocalReader.o
+
+# target to build an object file
+crawler/Readers/LocalReader.cpp.o:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/Readers/LocalReader.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/Readers/LocalReader.cpp.o
+.PHONY : crawler/Readers/LocalReader.cpp.o
+
+crawler/Readers/LocalReader.i: crawler/Readers/LocalReader.cpp.i
+
+.PHONY : crawler/Readers/LocalReader.i
+
+# target to preprocess a source file
+crawler/Readers/LocalReader.cpp.i:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/Readers/LocalReader.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/Readers/LocalReader.cpp.i
+.PHONY : crawler/Readers/LocalReader.cpp.i
+
+crawler/Readers/LocalReader.s: crawler/Readers/LocalReader.cpp.s
+
+.PHONY : crawler/Readers/LocalReader.s
+
+# target to generate assembly for a file
+crawler/Readers/LocalReader.cpp.s:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/Readers/LocalReader.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/Readers/LocalReader.cpp.s
+.PHONY : crawler/Readers/LocalReader.cpp.s
+
+crawler/crawler.o: crawler/crawler.cpp.o
+
+.PHONY : crawler/crawler.o
+
+# target to build an object file
+crawler/crawler.cpp.o:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/crawler.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/crawler.cpp.o
+.PHONY : crawler/crawler.cpp.o
+
+crawler/crawler.i: crawler/crawler.cpp.i
+
+.PHONY : crawler/crawler.i
+
+# target to preprocess a source file
+crawler/crawler.cpp.i:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/crawler.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/crawler.cpp.i
+.PHONY : crawler/crawler.cpp.i
+
+crawler/crawler.s: crawler/crawler.cpp.s
+
+.PHONY : crawler/crawler.s
+
+# target to generate assembly for a file
+crawler/crawler.cpp.s:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/crawler.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/crawler.cpp.s
+.PHONY : crawler/crawler.cpp.s
+
+crawler/spider.o: crawler/spider.cpp.o
+
+.PHONY : crawler/spider.o
+
+# target to build an object file
+crawler/spider.cpp.o:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/spider.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/spider.cpp.o
+.PHONY : crawler/spider.cpp.o
+
+crawler/spider.i: crawler/spider.cpp.i
+
+.PHONY : crawler/spider.i
+
+# target to preprocess a source file
+crawler/spider.cpp.i:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/spider.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/spider.cpp.i
+.PHONY : crawler/spider.cpp.i
+
+crawler/spider.s: crawler/spider.cpp.s
+
+.PHONY : crawler/spider.s
+
+# target to generate assembly for a file
+crawler/spider.cpp.s:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/spider.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/crawler/spider.cpp.s
+.PHONY : crawler/spider.cpp.s
+
+indexer/Indexer.o: indexer/Indexer.cpp.o
+
+.PHONY : indexer/Indexer.o
+
+# target to build an object file
+indexer/Indexer.cpp.o:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/indexer/Indexer.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/indexer/Indexer.cpp.o
+.PHONY : indexer/Indexer.cpp.o
+
+indexer/Indexer.i: indexer/Indexer.cpp.i
+
+.PHONY : indexer/Indexer.i
+
+# target to preprocess a source file
+indexer/Indexer.cpp.i:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/indexer/Indexer.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/indexer/Indexer.cpp.i
+.PHONY : indexer/Indexer.cpp.i
+
+indexer/Indexer.s: indexer/Indexer.cpp.s
+
+.PHONY : indexer/Indexer.s
+
+# target to generate assembly for a file
+indexer/Indexer.cpp.s:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/indexer/Indexer.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/indexer/Indexer.cpp.s
+.PHONY : indexer/Indexer.cpp.s
+
+main.o: main.cpp.o
+
+.PHONY : main.o
+
+# target to build an object file
+main.cpp.o:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/main.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/main.cpp.o
+.PHONY : main.cpp.o
+
+main.i: main.cpp.i
+
+.PHONY : main.i
+
+# target to preprocess a source file
+main.cpp.i:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/main.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/main.cpp.i
+.PHONY : main.cpp.i
+
+main.s: main.cpp.s
+
+.PHONY : main.s
+
+# target to generate assembly for a file
+main.cpp.s:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/main.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/main.cpp.s
+.PHONY : main.cpp.s
+
+parser/Parser.o: parser/Parser.cpp.o
+
+.PHONY : parser/Parser.o
+
+# target to build an object file
+parser/Parser.cpp.o:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/parser/Parser.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/parser/Parser.cpp.o
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/Parser.cpp.o
+.PHONY : parser/Parser.cpp.o
+
+parser/Parser.i: parser/Parser.cpp.i
+
+.PHONY : parser/Parser.i
+
+# target to preprocess a source file
+parser/Parser.cpp.i:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/parser/Parser.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/parser/Parser.cpp.i
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/Parser.cpp.i
+.PHONY : parser/Parser.cpp.i
+
+parser/Parser.s: parser/Parser.cpp.s
+
+.PHONY : parser/Parser.s
+
+# target to generate assembly for a file
+parser/Parser.cpp.s:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/parser/Parser.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/parser/Parser.cpp.s
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/Parser.cpp.s
+.PHONY : parser/Parser.cpp.s
+
+parser/tests/parserTest.o: parser/tests/parserTest.cpp.o
+
+.PHONY : parser/tests/parserTest.o
+
+# target to build an object file
+parser/tests/parserTest.cpp.o:
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/tests/parserTest.cpp.o
+.PHONY : parser/tests/parserTest.cpp.o
+
+parser/tests/parserTest.i: parser/tests/parserTest.cpp.i
+
+.PHONY : parser/tests/parserTest.i
+
+# target to preprocess a source file
+parser/tests/parserTest.cpp.i:
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/tests/parserTest.cpp.i
+.PHONY : parser/tests/parserTest.cpp.i
+
+parser/tests/parserTest.s: parser/tests/parserTest.cpp.s
+
+.PHONY : parser/tests/parserTest.s
+
+# target to generate assembly for a file
+parser/tests/parserTest.cpp.s:
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/tests/parserTest.cpp.s
+.PHONY : parser/tests/parserTest.cpp.s
+
+query/Query.o: query/Query.cpp.o
+
+.PHONY : query/Query.o
+
+# target to build an object file
+query/Query.cpp.o:
+	$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/query/Query.cpp.o
+.PHONY : query/Query.cpp.o
+
+query/Query.i: query/Query.cpp.i
+
+.PHONY : query/Query.i
+
+# target to preprocess a source file
+query/Query.cpp.i:
+	$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/query/Query.cpp.i
+.PHONY : query/Query.cpp.i
+
+query/Query.s: query/Query.cpp.s
+
+.PHONY : query/Query.s
+
+# target to generate assembly for a file
+query/Query.cpp.s:
+	$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/query/Query.cpp.s
+.PHONY : query/Query.cpp.s
+
+search.o: search.cpp.o
+
+.PHONY : search.o
+
+# target to build an object file
+search.cpp.o:
+	$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/search.cpp.o
+.PHONY : search.cpp.o
+
+search.i: search.cpp.i
+
+.PHONY : search.i
+
+# target to preprocess a source file
+search.cpp.i:
+	$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/search.cpp.i
+.PHONY : search.cpp.i
+
+search.s: search.cpp.s
+
+.PHONY : search.s
+
+# target to generate assembly for a file
+search.cpp.s:
+	$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/search.cpp.s
+.PHONY : search.cpp.s
+
+shared/Document.o: shared/Document.cpp.o
+
+.PHONY : shared/Document.o
+
+# target to build an object file
+shared/Document.cpp.o:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/shared/Document.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/shared/Document.cpp.o
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/shared/Document.cpp.o
+.PHONY : shared/Document.cpp.o
+
+shared/Document.i: shared/Document.cpp.i
+
+.PHONY : shared/Document.i
+
+# target to preprocess a source file
+shared/Document.cpp.i:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/shared/Document.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/shared/Document.cpp.i
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/shared/Document.cpp.i
+.PHONY : shared/Document.cpp.i
+
+shared/Document.s: shared/Document.cpp.s
+
+.PHONY : shared/Document.s
+
+# target to generate assembly for a file
+shared/Document.cpp.s:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/shared/Document.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/shared/Document.cpp.s
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/shared/Document.cpp.s
+.PHONY : shared/Document.cpp.s
+
+shared/ProducerConsumerQueue_test.o: shared/ProducerConsumerQueue_test.cpp.o
+
+.PHONY : shared/ProducerConsumerQueue_test.o
+
+# target to build an object file
+shared/ProducerConsumerQueue_test.cpp.o:
+	$(MAKE) -f CMakeFiles/QueueTest.dir/build.make CMakeFiles/QueueTest.dir/shared/ProducerConsumerQueue_test.cpp.o
+.PHONY : shared/ProducerConsumerQueue_test.cpp.o
+
+shared/ProducerConsumerQueue_test.i: shared/ProducerConsumerQueue_test.cpp.i
+
+.PHONY : shared/ProducerConsumerQueue_test.i
+
+# target to preprocess a source file
+shared/ProducerConsumerQueue_test.cpp.i:
+	$(MAKE) -f CMakeFiles/QueueTest.dir/build.make CMakeFiles/QueueTest.dir/shared/ProducerConsumerQueue_test.cpp.i
+.PHONY : shared/ProducerConsumerQueue_test.cpp.i
+
+shared/ProducerConsumerQueue_test.s: shared/ProducerConsumerQueue_test.cpp.s
+
+.PHONY : shared/ProducerConsumerQueue_test.s
+
+# target to generate assembly for a file
+shared/ProducerConsumerQueue_test.cpp.s:
+	$(MAKE) -f CMakeFiles/QueueTest.dir/build.make CMakeFiles/QueueTest.dir/shared/ProducerConsumerQueue_test.cpp.s
+.PHONY : shared/ProducerConsumerQueue_test.cpp.s
+
+shared/SharedHashMapTest.o: shared/SharedHashMapTest.cpp.o
+
+.PHONY : shared/SharedHashMapTest.o
+
+# target to build an object file
+shared/SharedHashMapTest.cpp.o:
+	$(MAKE) -f CMakeFiles/SharedTableTest.dir/build.make CMakeFiles/SharedTableTest.dir/shared/SharedHashMapTest.cpp.o
+.PHONY : shared/SharedHashMapTest.cpp.o
+
+shared/SharedHashMapTest.i: shared/SharedHashMapTest.cpp.i
+
+.PHONY : shared/SharedHashMapTest.i
+
+# target to preprocess a source file
+shared/SharedHashMapTest.cpp.i:
+	$(MAKE) -f CMakeFiles/SharedTableTest.dir/build.make CMakeFiles/SharedTableTest.dir/shared/SharedHashMapTest.cpp.i
+.PHONY : shared/SharedHashMapTest.cpp.i
+
+shared/SharedHashMapTest.s: shared/SharedHashMapTest.cpp.s
+
+.PHONY : shared/SharedHashMapTest.s
+
+# target to generate assembly for a file
+shared/SharedHashMapTest.cpp.s:
+	$(MAKE) -f CMakeFiles/SharedTableTest.dir/build.make CMakeFiles/SharedTableTest.dir/shared/SharedHashMapTest.cpp.s
+.PHONY : shared/SharedHashMapTest.cpp.s
+
+shared/urlTest.o: shared/urlTest.cpp.o
+
+.PHONY : shared/urlTest.o
+
+# target to build an object file
+shared/urlTest.cpp.o:
+	$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/shared/urlTest.cpp.o
+.PHONY : shared/urlTest.cpp.o
+
+shared/urlTest.i: shared/urlTest.cpp.i
+
+.PHONY : shared/urlTest.i
+
+# target to preprocess a source file
+shared/urlTest.cpp.i:
+	$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/shared/urlTest.cpp.i
+.PHONY : shared/urlTest.cpp.i
+
+shared/urlTest.s: shared/urlTest.cpp.s
+
+.PHONY : shared/urlTest.s
+
+# target to generate assembly for a file
+shared/urlTest.cpp.s:
+	$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/shared/urlTest.cpp.s
+.PHONY : shared/urlTest.cpp.s
+
+util/Stemmer.o: util/Stemmer.cpp.o
+
+.PHONY : util/Stemmer.o
+
+# target to build an object file
+util/Stemmer.cpp.o:
+	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/Stemmer.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/Stemmer.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/util/Stemmer.cpp.o
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/Stemmer.cpp.o
+	$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/util/Stemmer.cpp.o
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/Stemmer.cpp.o
+.PHONY : util/Stemmer.cpp.o
+
+util/Stemmer.i: util/Stemmer.cpp.i
+
+.PHONY : util/Stemmer.i
+
+# target to preprocess a source file
+util/Stemmer.cpp.i:
+	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/Stemmer.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/Stemmer.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/util/Stemmer.cpp.i
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/Stemmer.cpp.i
+	$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/util/Stemmer.cpp.i
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/Stemmer.cpp.i
+.PHONY : util/Stemmer.cpp.i
+
+util/Stemmer.s: util/Stemmer.cpp.s
+
+.PHONY : util/Stemmer.s
+
+# target to generate assembly for a file
+util/Stemmer.cpp.s:
+	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/Stemmer.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/Stemmer.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/util/Stemmer.cpp.s
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/Stemmer.cpp.s
+	$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/util/Stemmer.cpp.s
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/Stemmer.cpp.s
+.PHONY : util/Stemmer.cpp.s
+
+util/Tokenizer.o: util/Tokenizer.cpp.o
+
+.PHONY : util/Tokenizer.o
+
+# target to build an object file
+util/Tokenizer.cpp.o:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/Tokenizer.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/util/Tokenizer.cpp.o
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/Tokenizer.cpp.o
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/Tokenizer.cpp.o
+.PHONY : util/Tokenizer.cpp.o
+
+util/Tokenizer.i: util/Tokenizer.cpp.i
+
+.PHONY : util/Tokenizer.i
+
+# target to preprocess a source file
+util/Tokenizer.cpp.i:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/Tokenizer.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/util/Tokenizer.cpp.i
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/Tokenizer.cpp.i
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/Tokenizer.cpp.i
+.PHONY : util/Tokenizer.cpp.i
+
+util/Tokenizer.s: util/Tokenizer.cpp.s
+
+.PHONY : util/Tokenizer.s
+
+# target to generate assembly for a file
+util/Tokenizer.cpp.s:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/Tokenizer.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/util/Tokenizer.cpp.s
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/Tokenizer.cpp.s
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/Tokenizer.cpp.s
+.PHONY : util/Tokenizer.cpp.s
+
+util/stringProcessing.o: util/stringProcessing.cpp.o
+
+.PHONY : util/stringProcessing.o
+
+# target to build an object file
+util/stringProcessing.cpp.o:
+	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/stringProcessing.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/stringProcessing.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/util/stringProcessing.cpp.o
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/stringProcessing.cpp.o
+	$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/util/stringProcessing.cpp.o
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/stringProcessing.cpp.o
+.PHONY : util/stringProcessing.cpp.o
+
+util/stringProcessing.i: util/stringProcessing.cpp.i
+
+.PHONY : util/stringProcessing.i
+
+# target to preprocess a source file
+util/stringProcessing.cpp.i:
+	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/stringProcessing.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/stringProcessing.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/util/stringProcessing.cpp.i
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/stringProcessing.cpp.i
+	$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/util/stringProcessing.cpp.i
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/stringProcessing.cpp.i
+.PHONY : util/stringProcessing.cpp.i
+
+util/stringProcessing.s: util/stringProcessing.cpp.s
+
+.PHONY : util/stringProcessing.s
+
+# target to generate assembly for a file
+util/stringProcessing.cpp.s:
+	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/stringProcessing.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/stringProcessing.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/util/stringProcessing.cpp.s
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/stringProcessing.cpp.s
+	$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/util/stringProcessing.cpp.s
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/stringProcessing.cpp.s
+.PHONY : util/stringProcessing.cpp.s
+
+util/tests/stemmerTest.o: util/tests/stemmerTest.cpp.o
+
+.PHONY : util/tests/stemmerTest.o
+
+# target to build an object file
+util/tests/stemmerTest.cpp.o:
+	$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/util/tests/stemmerTest.cpp.o
+.PHONY : util/tests/stemmerTest.cpp.o
+
+util/tests/stemmerTest.i: util/tests/stemmerTest.cpp.i
+
+.PHONY : util/tests/stemmerTest.i
+
+# target to preprocess a source file
+util/tests/stemmerTest.cpp.i:
+	$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/util/tests/stemmerTest.cpp.i
+.PHONY : util/tests/stemmerTest.cpp.i
+
+util/tests/stemmerTest.s: util/tests/stemmerTest.cpp.s
+
+.PHONY : util/tests/stemmerTest.s
+
+# target to generate assembly for a file
+util/tests/stemmerTest.cpp.s:
+	$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/util/tests/stemmerTest.cpp.s
+.PHONY : util/tests/stemmerTest.cpp.s
+
+util/tests/stringProcessingTest.o: util/tests/stringProcessingTest.cpp.o
+
+.PHONY : util/tests/stringProcessingTest.o
+
+# target to build an object file
+util/tests/stringProcessingTest.cpp.o:
+	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/tests/stringProcessingTest.cpp.o
+.PHONY : util/tests/stringProcessingTest.cpp.o
+
+util/tests/stringProcessingTest.i: util/tests/stringProcessingTest.cpp.i
+
+.PHONY : util/tests/stringProcessingTest.i
+
+# target to preprocess a source file
+util/tests/stringProcessingTest.cpp.i:
+	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/tests/stringProcessingTest.cpp.i
+.PHONY : util/tests/stringProcessingTest.cpp.i
+
+util/tests/stringProcessingTest.s: util/tests/stringProcessingTest.cpp.s
+
+.PHONY : util/tests/stringProcessingTest.s
+
+# target to generate assembly for a file
+util/tests/stringProcessingTest.cpp.s:
+	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/tests/stringProcessingTest.cpp.s
+.PHONY : util/tests/stringProcessingTest.cpp.s
+
+util/tests/tokenizerTest.o: util/tests/tokenizerTest.cpp.o
+
+.PHONY : util/tests/tokenizerTest.o
+
+# target to build an object file
+util/tests/tokenizerTest.cpp.o:
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/tests/tokenizerTest.cpp.o
+.PHONY : util/tests/tokenizerTest.cpp.o
+
+util/tests/tokenizerTest.i: util/tests/tokenizerTest.cpp.i
+
+.PHONY : util/tests/tokenizerTest.i
+
+# target to preprocess a source file
+util/tests/tokenizerTest.cpp.i:
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/tests/tokenizerTest.cpp.i
+.PHONY : util/tests/tokenizerTest.cpp.i
+
+util/tests/tokenizerTest.s: util/tests/tokenizerTest.cpp.s
+
+.PHONY : util/tests/tokenizerTest.s
+
+# target to generate assembly for a file
+util/tests/tokenizerTest.cpp.s:
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/tests/tokenizerTest.cpp.s
+.PHONY : util/tests/tokenizerTest.cpp.s
+
+util/util.o: util/util.cpp.o
+
+.PHONY : util/util.o
+
+# target to build an object file
+util/util.cpp.o:
+	$(MAKE) -f CMakeFiles/ISRWord-tests.dir/build.make CMakeFiles/ISRWord-tests.dir/util/util.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/util.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/util/util.cpp.o
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/util.cpp.o
+.PHONY : util/util.cpp.o
+
+util/util.i: util/util.cpp.i
+
+.PHONY : util/util.i
+
+# target to preprocess a source file
+util/util.cpp.i:
+	$(MAKE) -f CMakeFiles/ISRWord-tests.dir/build.make CMakeFiles/ISRWord-tests.dir/util/util.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/util.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/util/util.cpp.i
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/util.cpp.i
+.PHONY : util/util.cpp.i
+
+util/util.s: util/util.cpp.s
+
+.PHONY : util/util.s
+
+# target to generate assembly for a file
+util/util.cpp.s:
+	$(MAKE) -f CMakeFiles/ISRWord-tests.dir/build.make CMakeFiles/ISRWord-tests.dir/util/util.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/util.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-indexer-test.dir/build.make CMakeFiles/crawler-parser-indexer-test.dir/util/util.cpp.s
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/util.cpp.s
+.PHONY : util/util.cpp.s
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... edit_cache"
+	@echo "... rebuild_cache"
+	@echo "... StringProcessingTest"
+	@echo "... ISRWord-tests"
+	@echo "... URLTEST"
+	@echo "... SharedTableTest"
+	@echo "... crawler-parser-test"
+	@echo "... crawler-parser-indexer-test"
+	@echo "... ParserTest"
+	@echo "... StemmerTest"
+	@echo "... TokenizerTest"
+	@echo "... search-engine"
+	@echo "... QueueTest"
+	@echo "... constraintSolver/ISRWord.o"
+	@echo "... constraintSolver/ISRWord.i"
+	@echo "... constraintSolver/ISRWord.s"
+	@echo "... constraintSolver/tests/ISRWordTests.o"
+	@echo "... constraintSolver/tests/ISRWordTests.i"
+	@echo "... constraintSolver/tests/ISRWordTests.s"
+	@echo "... crawler/Readers/HttpReader.o"
+	@echo "... crawler/Readers/HttpReader.i"
+	@echo "... crawler/Readers/HttpReader.s"
+	@echo "... crawler/Readers/HttpsReader.o"
+	@echo "... crawler/Readers/HttpsReader.i"
+	@echo "... crawler/Readers/HttpsReader.s"
+	@echo "... crawler/Readers/LocalReader.o"
+	@echo "... crawler/Readers/LocalReader.i"
+	@echo "... crawler/Readers/LocalReader.s"
+	@echo "... crawler/crawler.o"
+	@echo "... crawler/crawler.i"
+	@echo "... crawler/crawler.s"
+	@echo "... crawler/spider.o"
+	@echo "... crawler/spider.i"
+	@echo "... crawler/spider.s"
+	@echo "... indexer/Indexer.o"
+	@echo "... indexer/Indexer.i"
+	@echo "... indexer/Indexer.s"
+	@echo "... main.o"
+	@echo "... main.i"
+	@echo "... main.s"
+	@echo "... parser/Parser.o"
+	@echo "... parser/Parser.i"
+	@echo "... parser/Parser.s"
+	@echo "... parser/tests/parserTest.o"
+	@echo "... parser/tests/parserTest.i"
+	@echo "... parser/tests/parserTest.s"
+	@echo "... query/Query.o"
+	@echo "... query/Query.i"
+	@echo "... query/Query.s"
+	@echo "... search.o"
+	@echo "... search.i"
+	@echo "... search.s"
+	@echo "... shared/Document.o"
+	@echo "... shared/Document.i"
+	@echo "... shared/Document.s"
+	@echo "... shared/ProducerConsumerQueue_test.o"
+	@echo "... shared/ProducerConsumerQueue_test.i"
+	@echo "... shared/ProducerConsumerQueue_test.s"
+	@echo "... shared/SharedHashMapTest.o"
+	@echo "... shared/SharedHashMapTest.i"
+	@echo "... shared/SharedHashMapTest.s"
+	@echo "... shared/urlTest.o"
+	@echo "... shared/urlTest.i"
+	@echo "... shared/urlTest.s"
+	@echo "... util/Stemmer.o"
+	@echo "... util/Stemmer.i"
+	@echo "... util/Stemmer.s"
+	@echo "... util/Tokenizer.o"
+	@echo "... util/Tokenizer.i"
+	@echo "... util/Tokenizer.s"
+	@echo "... util/stringProcessing.o"
+	@echo "... util/stringProcessing.i"
+	@echo "... util/stringProcessing.s"
+	@echo "... util/tests/stemmerTest.o"
+	@echo "... util/tests/stemmerTest.i"
+	@echo "... util/tests/stemmerTest.s"
+	@echo "... util/tests/stringProcessingTest.o"
+	@echo "... util/tests/stringProcessingTest.i"
+	@echo "... util/tests/stringProcessingTest.s"
+	@echo "... util/tests/tokenizerTest.o"
+	@echo "... util/tests/tokenizerTest.i"
+	@echo "... util/tests/tokenizerTest.s"
+	@echo "... util/util.o"
+	@echo "... util/util.i"
+	@echo "... util/util.s"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/parser/Parser.cpp b/parser/Parser.cpp
index 2ab01738fb84917ddc4fb40ce36eee3cecfafb38..d3715ea335da0fcadf8e7f924423a9abf8cee280 100644
--- a/parser/Parser.cpp
+++ b/parser/Parser.cpp
@@ -47,10 +47,6 @@ void Parser::parse ( StreamReader* reader, Tokenizer *tokenizer )
 		offsetAnchor = tokenizer->execute( anchorText, offsetAnchor, Tokenizer::ANCHOR );
 		}
 
-	reader->request();
-	bool success = reader->checkStatus();
-	if(success)
-		{
 		string html = reader->PageToString( );
 		while ( htmlIt < html.size( ) )
 			{
@@ -71,18 +67,9 @@ void Parser::parse ( StreamReader* reader, Tokenizer *tokenizer )
 				string url = extractUrl( line );
 				if ( url != "" )
 					{
-					if ( isLocal( url ) )
-						{
-						string completeUrl = "";
-						completeUrl.assign( currentUrl.CompleteUrl );
-						url = completeUrl + url;
-						}
-					if ( isValid( url ) )
-						{
-						ParsedUrl pUrl = ParsedUrl( url );
-						urlFrontier->Push( pUrl );
-						cout << url << endl;
-						}
+
+						pushToUrlQueue( url, currentUrl, anchorText, false );
+
 					}
 					// check if line is title
 				else
@@ -99,7 +86,6 @@ void Parser::parse ( StreamReader* reader, Tokenizer *tokenizer )
 				++htmlIt;
 				}
 			}
-		}
 	}
 
 /**
diff --git a/shared/url.h b/shared/url.h
index 0ea482da17a4779571182f61cff78578f17d1d25..1dea4b3caa786c06c3dad338d0414430204a917a 100644
--- a/shared/url.h
+++ b/shared/url.h
@@ -120,22 +120,26 @@ public:
 	void setScore(){
 		double lengthOfUrl = strlen(CompleteUrl);
 		Score += 4 * 1/ log( lengthOfUrl );
+		if(this->Domain != nullptr)
+			{
 
-		if ( strcmp ( Domain , ORG ) )
-			Score += 5;
-		else if ( strcmp ( Domain , EDU ) )
-			Score += 4;
-		else if ( strcmp ( Domain , GOV ) )
-			Score += 3;
-		else if ( strcmp ( Domain , COM ) )
-			Score += 2;
-		else if ( strcmp ( Domain , NET ) )
-			Score += 1;
-		else if ( strcmp ( Domain , INT ) )
-			Score += 1;
-		else if ( strcmp ( Domain , MIL ) )
-			Score += .5;
-		}
+
+			if ( strcmp ( Domain , ORG ) )
+				Score += 5;
+			else if ( strcmp ( Domain , EDU ) )
+				Score += 4;
+			else if ( strcmp ( Domain , GOV ) )
+				Score += 3;
+			else if ( strcmp ( Domain , COM ) )
+				Score += 2;
+			else if ( strcmp ( Domain , NET ) )
+				Score += 1;
+			else if ( strcmp ( Domain , INT ) )
+				Score += 1;
+			else if ( strcmp ( Domain , MIL ) )
+				Score += .5;
+			}
+			}
 
 	std::string getCompleteUrl( )
 		{
diff --git a/tests/webSeed.txt b/tests/webSeed.txt
index 1a77674a9f18e75e3c6acfe7b1187cb55845e4a0..06eb9d495722f3be8181c45a2e158e6ae8311a8d 100644
--- a/tests/webSeed.txt
+++ b/tests/webSeed.txt
@@ -1,3 +1,6 @@
+https://wikipedia.org/wiki/71st_British_Academy_Film_Awards
 http://www.bbc.com/
+https://www.eecs.umich.edu/
 https://www.nytimes.com/
-https://en.wikipedia.org/wiki/71st_British_Academy_Film_Awards
\ No newline at end of file
+http://www.bostonglobe.com/
+https://www.huffingtonpost.com/2015/01/14/strangest-wikipedia-entries_n_6463488.html
\ No newline at end of file
diff --git a/util/Stemmer.cpp b/util/Stemmer.cpp
index 31e75f433e93907cc61dc495aadf4e05d04b6c7c..5b0acd9eeeba26514688f2891cfdbef80811df01 100644
--- a/util/Stemmer.cpp
+++ b/util/Stemmer.cpp
@@ -126,7 +126,8 @@ bool Stemmer::isVowelPresent ( unsigned long wordBeg, unsigned long wordEnd, str
  */
 bool Stemmer::isConsonant ( unsigned long wordIt, string word )
 	{
-	assert ( wordIt < word.size( ) );
+	if ( wordIt >= word.size( ) )
+		return false;
 
 	char wordChar = word[ wordIt ];
 	if ( wordChar == 'a' || wordChar == 'e' || wordChar == 'i' || wordChar == 'o' || wordChar == 'u' )