diff --git a/.gitignore b/.gitignore
index 4f1171a91a4ad039cad5d85586a65562a5b5494f..779b7592c82aaec669d76cb5b14014a3254bd674 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,24 @@ cmake_install.cmake
 eecs398_search.cbp
 main
 .gitignore
+cmake-build-debug/CMakeCache.txt
+cmake-build-debug/CMakeFiles/3.9.6/CMakeCCompiler.cmake
+cmake-build-debug/CMakeFiles/3.9.6/CMakeCXXCompiler.cmake
+cmake-build-debug/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_C.bin
+cmake-build-debug/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_CXX.bin
+cmake-build-debug/CMakeFiles/3.9.6/CMakeSystem.cmake
+cmake-build-debug/CMakeFiles/3.9.6/CompilerIdC/a.out
+cmake-build-debug/CMakeFiles/3.9.6/CompilerIdCXX/a.out
+cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake
+cmake-build-debug/CMakeFiles/CMakeOutput.log
+cmake-build-debug/CMakeFiles/Makefile.cmake
+cmake-build-debug/CMakeFiles/Makefile2
+cmake-build-debug/CMakeFiles/TargetDirectories.txt
+cmake-build-debug/CMakeFiles/clion-log.txt
+cmake-build-debug/CMakeFiles/cmake.check_cache
+cmake-build-debug/CMakeFiles/feature_tests.bin
+cmake-build-debug/CMakeFiles/feature_tests.c
+cmake-build-debug/CMakeFiles/feature_tests.cxx
+cmake-build-debug/CMakeFiles/Makefile2
+cmake-build-debug/CMakeFiles/progress.marks
+cmake-build-debug/Makefile
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3d8922e585a977f14281f4daefc8f994b01e41f2..5ba668904de271ede10523abb5daf212c72eb267 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,9 +3,6 @@ project(eecs398_search)
 
 set(CMAKE_CXX_STANDARD 11)
 
-
-
-
 add_executable(crawler-parser-test
         main.cpp
         shared/ProducerConsumerQueue.h
@@ -19,40 +16,41 @@ add_executable(crawler-parser-test
         crawler/LocalReader.h
         shared/Document.cpp
         parser/Parser.cpp
-        util/stringProcessing.cpp
-        )
-
+        util/stringProcessing.cpp)
 
 
 add_executable(StringProcessingTest
         util/stringProcessing.cpp
-        util/Stemmer.h
+        util/Stemmer.cpp
         util/tests/stringProcessingTest.cpp)
 
 add_executable(TokenizerTest
-        util/Tokenizer.h
+        util/Tokenizer.cpp
+        util/stringProcessing.cpp
+        util/Stemmer.cpp
         util/tests/tokenizerTest.cpp)
 
 add_executable(StemmerTest
-        util/Stemmer.h
+        util/stringProcessing.cpp
+        util/Stemmer.cpp
         util/tests/stemmerTest.cpp)
 
-add_executable(ParserEndToEndTest
+add_executable(ParserTestE2E
         parser/Parser.cpp
         shared/Document.cpp
         shared/url.h
         util/util.cpp
-        util/Tokenizer.h
+        util/Tokenizer.cpp
+        shared/ProducerConsumerQueue.h
         util/stringProcessing.cpp
+        util/Stemmer.cpp
         parser/tests/parserTest.cpp)
 
 
 add_executable(URLTEST shared/url.h shared/urlTest.cpp)
 
-
 add_executable(search-engine search.cpp query/Query.cpp)
 
 find_package(OpenSSL REQUIRED)
 
 target_link_libraries(crawler-parser-test OpenSSL::SSL pthread)
-
diff --git a/cmake-build-debug/CMakeCache.txt b/cmake-build-debug/CMakeCache.txt
index 914aa727bdefdd778782c9ba4f9edd99830f34f7..c49fc7e59b6ebae269c7031ebccf8a27ecbe375f 100644
--- a/cmake-build-debug/CMakeCache.txt
+++ b/cmake-build-debug/CMakeCache.txt
@@ -1,5 +1,5 @@
 # This is the CMakeCache file.
-# For build in directory: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug
+# For build in directory: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug
 # It was generated by CMake: /Applications/CLion.app/Contents/bin/cmake/bin/cmake
 # You can edit this file to change values found and used by cmake.
 # If you do not want to change any of the values, simply exit the editor.
@@ -132,7 +132,7 @@ CMAKE_OSX_DEPLOYMENT_TARGET:STRING=
 
 //The product will be built against the headers and libraries located
 // inside the indicated SDK.
-CMAKE_OSX_SYSROOT:STRING=
+CMAKE_OSX_SYSROOT:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk
 
 //Value Computed by CMake
 CMAKE_PROJECT_NAME:STATIC=eecs398_search
@@ -187,25 +187,25 @@ CMAKE_STRIP:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/Xcode
 CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
 
 //Path to a library.
-OPENSSL_CRYPTO_LIBRARY:FILEPATH=/usr/local/lib/libcrypto.a
+OPENSSL_CRYPTO_LIBRARY:FILEPATH=/usr/lib/libcrypto.dylib
 
 //Path to a file.
 OPENSSL_INCLUDE_DIR:PATH=/usr/local/include
 
 //Path to a library.
-OPENSSL_SSL_LIBRARY:FILEPATH=/usr/local/lib/libssl.a
+OPENSSL_SSL_LIBRARY:FILEPATH=/usr/lib/libssl.dylib
 
 //pkg-config executable
-PKG_CONFIG_EXECUTABLE:FILEPATH=PKG_CONFIG_EXECUTABLE-NOTFOUND
+PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/local/bin/pkg-config
 
 //Path to a program.
 ProcessorCount_cmd_sysctl:FILEPATH=/usr/sbin/sysctl
 
 //Value Computed by CMake
-eecs398_search_BINARY_DIR:STATIC=/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug
+eecs398_search_BINARY_DIR:STATIC=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug
 
 //Value Computed by CMake
-eecs398_search_SOURCE_DIR:STATIC=/Users/benbergkamp/Desktop/398/eecs398-search
+eecs398_search_SOURCE_DIR:STATIC=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search
 
 
 ########################
@@ -215,7 +215,7 @@ eecs398_search_SOURCE_DIR:STATIC=/Users/benbergkamp/Desktop/398/eecs398-search
 //ADVANCED property for variable: CMAKE_AR
 CMAKE_AR-ADVANCED:INTERNAL=1
 //This is the directory where this CMakeCache.txt was created
-CMAKE_CACHEFILE_DIR:INTERNAL=/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug
+CMAKE_CACHEFILE_DIR:INTERNAL=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug
 //Major version of cmake used to create the current loaded cache
 CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
 //Minor version of cmake used to create the current loaded cache
@@ -271,13 +271,13 @@ CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
 //Name of external makefile project generator.
 CMAKE_EXTRA_GENERATOR:INTERNAL=CodeBlocks
 //CXX compiler system defined macros
-CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS:INTERNAL=__llvm__;1;__clang__;1;__clang_major__;8;__clang_minor__; ;__clang_patchlevel__; ;__clang_version__;"8.0.0 (clang-800.0.42.1)";__GNUC_MINOR__;2;__GNUC_PATCHLEVEL__;1;__GNUC__;4;__GXX_ABI_VERSION;1002;__ATOMIC_RELAXED; ;__ATOMIC_CONSUME;1;__ATOMIC_ACQUIRE;2;__ATOMIC_RELEASE;3;__ATOMIC_ACQ_REL;4;__ATOMIC_SEQ_CST;5;__PRAGMA_REDEFINE_EXTNAME;1;__VERSION__;"4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)";__CONSTANT_CFSTRINGS__;1;__block;__attribute__((__blocks__(byref)));__BLOCKS__;1;__GXX_RTTI;1;__ORDER_LITTLE_ENDIAN__;1234;__ORDER_BIG_ENDIAN__;4321;__ORDER_PDP_ENDIAN__;3412;__BYTE_ORDER__;__ORDER_LITTLE_ENDIAN__;__LITTLE_ENDIAN__;1;_LP64;1;__LP64__;1;__CHAR_BIT__;8;__SCHAR_MAX__;127;__SHRT_MAX__;32767;__INT_MAX__;2147483647;__LONG_MAX__;9223372036854775807L;__LONG_LONG_MAX__;9223372036854775807LL;__WCHAR_MAX__;2147483647;__INTMAX_MAX__;9223372036854775807L;__SIZE_MAX__;18446744073709551615UL;__UINTMAX_MAX__;18446744073709551615UL;__PTRDIFF_MAX__;9223372036854775807L;__INTPTR_MAX__;9223372036854775807L;__UINTPTR_MAX__;18446744073709551615UL;__SIZEOF_DOUBLE__;8;__SIZEOF_FLOAT__;4;__SIZEOF_INT__;4;__SIZEOF_LONG__;8;__SIZEOF_LONG_DOUBLE__;16;__SIZEOF_LONG_LONG__;8;__SIZEOF_POINTER__;8;__SIZEOF_SHORT__;2;__SIZEOF_PTRDIFF_T__;8;__SIZEOF_SIZE_T__;8;__SIZEOF_WCHAR_T__;4;__SIZEOF_WINT_T__;4;__SIZEOF_INT128__;16;__INTMAX_TYPE__;long int;__INTMAX_FMTd__;"ld";__INTMAX_FMTi__;"li";__INTMAX_C_SUFFIX__;L;__UINTMAX_TYPE__;long unsigned int;__UINTMAX_FMTo__;"lo";__UINTMAX_FMTu__;"lu";__UINTMAX_FMTx__;"lx";__UINTMAX_FMTX__;"lX";__UINTMAX_C_SUFFIX__;UL;__INTMAX_WIDTH__;64;__PTRDIFF_TYPE__;long int;__PTRDIFF_FMTd__;"ld";__PTRDIFF_FMTi__;"li";__PTRDIFF_WIDTH__;64;__INTPTR_TYPE__;long int;__INTPTR_FMTd__;"ld";__INTPTR_FMTi__;"li";__INTPTR_WIDTH__;64;__SIZE_TYPE__;long unsigned int;__SIZE_FMTo__;"lo";__SIZE_FMTu__;"lu";__SIZE_FMTx__;"lx";__SIZE_FMTX__;"lX";__SIZE_WIDTH__;64;__WCHAR_TYPE__;int;__WCHAR_WIDTH__;32;__WINT_TYPE__;int;__WINT_WIDTH__;32;__SIG_ATOMIC_WIDTH__;32;__SIG_ATOMIC_MAX__;2147483647;__CHAR16_TYPE__;unsigned short;__CHAR32_TYPE__;unsigned int;__UINTMAX_WIDTH__;64;__UINTPTR_TYPE__;long unsigned int;__UINTPTR_FMTo__;"lo";__UINTPTR_FMTu__;"lu";__UINTPTR_FMTx__;"lx";__UINTPTR_FMTX__;"lX";__UINTPTR_WIDTH__;64;__FLT_DENORM_MIN__;1.40129846e-45F;__FLT_HAS_DENORM__;1;__FLT_DIG__;6;__FLT_DECIMAL_DIG__;9;__FLT_EPSILON__;1.19209290e-7F;__FLT_HAS_INFINITY__;1;__FLT_HAS_QUIET_NAN__;1;__FLT_MANT_DIG__;24;__FLT_MAX_10_EXP__;38;__FLT_MAX_EXP__;128;__FLT_MAX__;3.40282347e+38F;__FLT_MIN_10_EXP__;(-37);__FLT_MIN_EXP__;(-125);__FLT_MIN__;1.17549435e-38F;__DBL_DENORM_MIN__;4.9406564584124654e-324;__DBL_HAS_DENORM__;1;__DBL_DIG__;15;__DBL_DECIMAL_DIG__;17;__DBL_EPSILON__;2.2204460492503131e-16;__DBL_HAS_INFINITY__;1;__DBL_HAS_QUIET_NAN__;1;__DBL_MANT_DIG__;53;__DBL_MAX_10_EXP__;308;__DBL_MAX_EXP__;1024;__DBL_MAX__;1.7976931348623157e+308;__DBL_MIN_10_EXP__;(-307);__DBL_MIN_EXP__;(-1021);__DBL_MIN__;2.2250738585072014e-308;__LDBL_DENORM_MIN__;3.64519953188247460253e-4951L;__LDBL_HAS_DENORM__;1;__LDBL_DIG__;18;__LDBL_DECIMAL_DIG__;21;__LDBL_EPSILON__;1.08420217248550443401e-19L;__LDBL_HAS_INFINITY__;1;__LDBL_HAS_QUIET_NAN__;1;__LDBL_MANT_DIG__;64;__LDBL_MAX_10_EXP__;4932;__LDBL_MAX_EXP__;16384;__LDBL_MAX__;1.18973149535723176502e+4932L;__LDBL_MIN_10_EXP__;(-4931);__LDBL_MIN_EXP__;(-16381);__LDBL_MIN__;3.36210314311209350626e-4932L;__POINTER_WIDTH__;64;__BIGGEST_ALIGNMENT__;16;__INT8_TYPE__;signed char;__INT8_FMTd__;"hhd";__INT8_FMTi__;"hhi";__INT8_C_SUFFIX__; ;__INT16_TYPE__;short;__INT16_FMTd__;"hd";__INT16_FMTi__;"hi";__INT16_C_SUFFIX__; ;__INT32_TYPE__;int;__INT32_FMTd__;"d";__INT32_FMTi__;"i";__INT32_C_SUFFIX__; ;__INT64_TYPE__;long long int;__INT64_FMTd__;"lld";__INT64_FMTi__;"lli";__INT64_C_SUFFIX__;LL;__UINT8_TYPE__;unsigned char;__UINT8_FMTo__;"hho";__UINT8_FMTu__;"hhu";__UINT8_FMTx__;"hhx";__UINT8_FMTX__;"hhX";__UINT8_C_SUFFIX__; ;__UINT8_MAX__;255;__INT8_MAX__;127;__UINT16_TYPE__;unsigned short;__UINT16_FMTo__;"ho";__UINT16_FMTu__;"hu";__UINT16_FMTx__;"hx";__UINT16_FMTX__;"hX";__UINT16_C_SUFFIX__; ;__UINT16_MAX__;65535;__INT16_MAX__;32767;__UINT32_TYPE__;unsigned int;__UINT32_FMTo__;"o";__UINT32_FMTu__;"u";__UINT32_FMTx__;"x";__UINT32_FMTX__;"X";__UINT32_C_SUFFIX__;U;__UINT32_MAX__;4294967295U;__INT32_MAX__;2147483647;__UINT64_TYPE__;long long unsigned int;__UINT64_FMTo__;"llo";__UINT64_FMTu__;"llu";__UINT64_FMTx__;"llx";__UINT64_FMTX__;"llX";__UINT64_C_SUFFIX__;ULL;__UINT64_MAX__;18446744073709551615ULL;__INT64_MAX__;9223372036854775807LL;__INT_LEAST8_TYPE__;signed char;__INT_LEAST8_MAX__;127;__INT_LEAST8_FMTd__;"hhd";__INT_LEAST8_FMTi__;"hhi";__UINT_LEAST8_TYPE__;unsigned char;__UINT_LEAST8_MAX__;255;__UINT_LEAST8_FMTo__;"hho";__UINT_LEAST8_FMTu__;"hhu";__UINT_LEAST8_FMTx__;"hhx";__UINT_LEAST8_FMTX__;"hhX";__INT_LEAST16_TYPE__;short;__INT_LEAST16_MAX__;32767;__INT_LEAST16_FMTd__;"hd";__INT_LEAST16_FMTi__;"hi";__UINT_LEAST16_TYPE__;unsigned short;__UINT_LEAST16_MAX__;65535;__UINT_LEAST16_FMTo__;"ho";__UINT_LEAST16_FMTu__;"hu";__UINT_LEAST16_FMTx__;"hx";__UINT_LEAST16_FMTX__;"hX";__INT_LEAST32_TYPE__;int;__INT_LEAST32_MAX__;2147483647;__INT_LEAST32_FMTd__;"d";__INT_LEAST32_FMTi__;"i";__UINT_LEAST32_TYPE__;unsigned int;__UINT_LEAST32_MAX__;4294967295U;__UINT_LEAST32_FMTo__;"o";__UINT_LEAST32_FMTu__;"u";__UINT_LEAST32_FMTx__;"x";__UINT_LEAST32_FMTX__;"X";__INT_LEAST64_TYPE__;long int;__INT_LEAST64_MAX__;9223372036854775807L;__INT_LEAST64_FMTd__;"ld";__INT_LEAST64_FMTi__;"li";__UINT_LEAST64_TYPE__;long unsigned int;__UINT_LEAST64_MAX__;18446744073709551615UL;__UINT_LEAST64_FMTo__;"lo";__UINT_LEAST64_FMTu__;"lu";__UINT_LEAST64_FMTx__;"lx";__UINT_LEAST64_FMTX__;"lX";__INT_FAST8_TYPE__;signed char;__INT_FAST8_MAX__;127;__INT_FAST8_FMTd__;"hhd";__INT_FAST8_FMTi__;"hhi";__UINT_FAST8_TYPE__;unsigned char;__UINT_FAST8_MAX__;255;__UINT_FAST8_FMTo__;"hho";__UINT_FAST8_FMTu__;"hhu";__UINT_FAST8_FMTx__;"hhx";__UINT_FAST8_FMTX__;"hhX";__INT_FAST16_TYPE__;short;__INT_FAST16_MAX__;32767;__INT_FAST16_FMTd__;"hd";__INT_FAST16_FMTi__;"hi";__UINT_FAST16_TYPE__;unsigned short;__UINT_FAST16_MAX__;65535;__UINT_FAST16_FMTo__;"ho";__UINT_FAST16_FMTu__;"hu";__UINT_FAST16_FMTx__;"hx";__UINT_FAST16_FMTX__;"hX";__INT_FAST32_TYPE__;int;__INT_FAST32_MAX__;2147483647;__INT_FAST32_FMTd__;"d";__INT_FAST32_FMTi__;"i";__UINT_FAST32_TYPE__;unsigned int;__UINT_FAST32_MAX__;4294967295U;__UINT_FAST32_FMTo__;"o";__UINT_FAST32_FMTu__;"u";__UINT_FAST32_FMTx__;"x";__UINT_FAST32_FMTX__;"X";__INT_FAST64_TYPE__;long int;__INT_FAST64_MAX__;9223372036854775807L;__INT_FAST64_FMTd__;"ld";__INT_FAST64_FMTi__;"li";__UINT_FAST64_TYPE__;long unsigned int;__UINT_FAST64_MAX__;18446744073709551615UL;__UINT_FAST64_FMTo__;"lo";__UINT_FAST64_FMTu__;"lu";__UINT_FAST64_FMTx__;"lx";__UINT_FAST64_FMTX__;"lX";__USER_LABEL_PREFIX__;_;__FINITE_MATH_ONLY__; ;__GNUC_STDC_INLINE__;1;__GCC_ATOMIC_TEST_AND_SET_TRUEVAL;1;__GCC_ATOMIC_BOOL_LOCK_FREE;2;__GCC_ATOMIC_CHAR_LOCK_FREE;2;__GCC_ATOMIC_CHAR16_T_LOCK_FREE;2;__GCC_ATOMIC_CHAR32_T_LOCK_FREE;2;__GCC_ATOMIC_WCHAR_T_LOCK_FREE;2;__GCC_ATOMIC_SHORT_LOCK_FREE;2;__GCC_ATOMIC_INT_LOCK_FREE;2;__GCC_ATOMIC_LONG_LOCK_FREE;2;__GCC_ATOMIC_LLONG_LOCK_FREE;2;__GCC_ATOMIC_POINTER_LOCK_FREE;2;__NO_INLINE__;1;__PIC__;2;__pic__;2;__FLT_EVAL_METHOD__; ;__FLT_RADIX__;2;__DECIMAL_DIG__;__LDBL_DECIMAL_DIG__;__SSP__;1;__nonnull;_Nonnull;__null_unspecified;_Null_unspecified;__nullable;_Nullable;__amd64__;1;__amd64;1;__x86_64;1;__x86_64__;1;__core2;1;__core2__;1;__tune_core2__;1;__REGISTER_PREFIX__; ;__NO_MATH_INLINES;1;__FXSR__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16;1;__SSE4_1__;1;__SSSE3__;1;__SSE3__;1;__SSE2__;1;__SSE2_MATH__;1;__SSE__;1;__SSE_MATH__;1;__MMX__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8;1;__APPLE_CC__;6000;__APPLE__;1;OBJC_NEW_PROPERTIES;1;__apple_build_version__;8000042;__weak;__attribute__((objc_gc(weak)));__strong; ;__unsafe_unretained; ;__DYNAMIC__;1;__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__;101200;__MACH__;1;__STDC__;1;__STDC_HOSTED__;1;__STDC_VERSION__;201112L;__STDC_UTF_16__;1;__STDC_UTF_32__;1;__llvm__;1;__clang__;1;__clang_major__;8;__clang_minor__; ;__clang_patchlevel__; ;__clang_version__;"8.0.0 (clang-800.0.42.1)";__GNUC_MINOR__;2;__GNUC_PATCHLEVEL__;1;__GNUC__;4;__GXX_ABI_VERSION;1002;__ATOMIC_RELAXED; ;__ATOMIC_CONSUME;1;__ATOMIC_ACQUIRE;2;__ATOMIC_RELEASE;3;__ATOMIC_ACQ_REL;4;__ATOMIC_SEQ_CST;5;__PRAGMA_REDEFINE_EXTNAME;1;__VERSION__;"4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)";__cpp_rtti;199711;__cpp_exceptions;199711;__CONSTANT_CFSTRINGS__;1;__block;__attribute__((__blocks__(byref)));__BLOCKS__;1;__EXCEPTIONS;1;__GXX_RTTI;1;__DEPRECATED;1;__GNUG__;4;__GXX_WEAK__;1;__private_extern__;extern;__ORDER_LITTLE_ENDIAN__;1234;__ORDER_BIG_ENDIAN__;4321;__ORDER_PDP_ENDIAN__;3412;__BYTE_ORDER__;__ORDER_LITTLE_ENDIAN__;__LITTLE_ENDIAN__;1;_LP64;1;__LP64__;1;__CHAR_BIT__;8;__SCHAR_MAX__;127;__SHRT_MAX__;32767;__INT_MAX__;2147483647;__LONG_MAX__;9223372036854775807L;__LONG_LONG_MAX__;9223372036854775807LL;__WCHAR_MAX__;2147483647;__INTMAX_MAX__;9223372036854775807L;__SIZE_MAX__;18446744073709551615UL;__UINTMAX_MAX__;18446744073709551615UL;__PTRDIFF_MAX__;9223372036854775807L;__INTPTR_MAX__;9223372036854775807L;__UINTPTR_MAX__;18446744073709551615UL;__SIZEOF_DOUBLE__;8;__SIZEOF_FLOAT__;4;__SIZEOF_INT__;4;__SIZEOF_LONG__;8;__SIZEOF_LONG_DOUBLE__;16;__SIZEOF_LONG_LONG__;8;__SIZEOF_POINTER__;8;__SIZEOF_SHORT__;2;__SIZEOF_PTRDIFF_T__;8;__SIZEOF_SIZE_T__;8;__SIZEOF_WCHAR_T__;4;__SIZEOF_WINT_T__;4;__SIZEOF_INT128__;16;__INTMAX_TYPE__;long int;__INTMAX_FMTd__;"ld";__INTMAX_FMTi__;"li";__INTMAX_C_SUFFIX__;L;__UINTMAX_TYPE__;long unsigned int;__UINTMAX_FMTo__;"lo";__UINTMAX_FMTu__;"lu";__UINTMAX_FMTx__;"lx";__UINTMAX_FMTX__;"lX";__UINTMAX_C_SUFFIX__;UL;__INTMAX_WIDTH__;64;__PTRDIFF_TYPE__;long int;__PTRDIFF_FMTd__;"ld";__PTRDIFF_FMTi__;"li";__PTRDIFF_WIDTH__;64;__INTPTR_TYPE__;long int;__INTPTR_FMTd__;"ld";__INTPTR_FMTi__;"li";__INTPTR_WIDTH__;64;__SIZE_TYPE__;long unsigned int;__SIZE_FMTo__;"lo";__SIZE_FMTu__;"lu";__SIZE_FMTx__;"lx";__SIZE_FMTX__;"lX";__SIZE_WIDTH__;64;__WCHAR_TYPE__;int;__WCHAR_WIDTH__;32;__WINT_TYPE__;int;__WINT_WIDTH__;32;__SIG_ATOMIC_WIDTH__;32;__SIG_ATOMIC_MAX__;2147483647;__CHAR16_TYPE__;unsigned short;__CHAR32_TYPE__;unsigned int;__UINTMAX_WIDTH__;64;__UINTPTR_TYPE__;long unsigned int;__UINTPTR_FMTo__;"lo";__UINTPTR_FMTu__;"lu";__UINTPTR_FMTx__;"lx";__UINTPTR_FMTX__;"lX";__UINTPTR_WIDTH__;64;__FLT_DENORM_MIN__;1.40129846e-45F;__FLT_HAS_DENORM__;1;__FLT_DIG__;6;__FLT_DECIMAL_DIG__;9;__FLT_EPSILON__;1.19209290e-7F;__FLT_HAS_INFINITY__;1;__FLT_HAS_QUIET_NAN__;1;__FLT_MANT_DIG__;24;__FLT_MAX_10_EXP__;38;__FLT_MAX_EXP__;128;__FLT_MAX__;3.40282347e+38F;__FLT_MIN_10_EXP__;(-37);__FLT_MIN_EXP__;(-125);__FLT_MIN__;1.17549435e-38F;__DBL_DENORM_MIN__;4.9406564584124654e-324;__DBL_HAS_DENORM__;1;__DBL_DIG__;15;__DBL_DECIMAL_DIG__;17;__DBL_EPSILON__;2.2204460492503131e-16;__DBL_HAS_INFINITY__;1;__DBL_HAS_QUIET_NAN__;1;__DBL_MANT_DIG__;53;__DBL_MAX_10_EXP__;308;__DBL_MAX_EXP__;1024;__DBL_MAX__;1.7976931348623157e+308;__DBL_MIN_10_EXP__;(-307);__DBL_MIN_EXP__;(-1021);__DBL_MIN__;2.2250738585072014e-308;__LDBL_DENORM_MIN__;3.64519953188247460253e-4951L;__LDBL_HAS_DENORM__;1;__LDBL_DIG__;18;__LDBL_DECIMAL_DIG__;21;__LDBL_EPSILON__;1.08420217248550443401e-19L;__LDBL_HAS_INFINITY__;1;__LDBL_HAS_QUIET_NAN__;1;__LDBL_MANT_DIG__;64;__LDBL_MAX_10_EXP__;4932;__LDBL_MAX_EXP__;16384;__LDBL_MAX__;1.18973149535723176502e+4932L;__LDBL_MIN_10_EXP__;(-4931);__LDBL_MIN_EXP__;(-16381);__LDBL_MIN__;3.36210314311209350626e-4932L;__POINTER_WIDTH__;64;__BIGGEST_ALIGNMENT__;16;__INT8_TYPE__;signed char;__INT8_FMTd__;"hhd";__INT8_FMTi__;"hhi";__INT8_C_SUFFIX__; ;__INT16_TYPE__;short;__INT16_FMTd__;"hd";__INT16_FMTi__;"hi";__INT16_C_SUFFIX__; ;__INT32_TYPE__;int;__INT32_FMTd__;"d";__INT32_FMTi__;"i";__INT32_C_SUFFIX__; ;__INT64_TYPE__;long long int;__INT64_FMTd__;"lld";__INT64_FMTi__;"lli";__INT64_C_SUFFIX__;LL;__UINT8_TYPE__;unsigned char;__UINT8_FMTo__;"hho";__UINT8_FMTu__;"hhu";__UINT8_FMTx__;"hhx";__UINT8_FMTX__;"hhX";__UINT8_C_SUFFIX__; ;__UINT8_MAX__;255;__INT8_MAX__;127;__UINT16_TYPE__;unsigned short;__UINT16_FMTo__;"ho";__UINT16_FMTu__;"hu";__UINT16_FMTx__;"hx";__UINT16_FMTX__;"hX";__UINT16_C_SUFFIX__; ;__UINT16_MAX__;65535;__INT16_MAX__;32767;__UINT32_TYPE__;unsigned int;__UINT32_FMTo__;"o";__UINT32_FMTu__;"u";__UINT32_FMTx__;"x";__UINT32_FMTX__;"X";__UINT32_C_SUFFIX__;U;__UINT32_MAX__;4294967295U;__INT32_MAX__;2147483647;__UINT64_TYPE__;long long unsigned int;__UINT64_FMTo__;"llo";__UINT64_FMTu__;"llu";__UINT64_FMTx__;"llx";__UINT64_FMTX__;"llX";__UINT64_C_SUFFIX__;ULL;__UINT64_MAX__;18446744073709551615ULL;__INT64_MAX__;9223372036854775807LL;__INT_LEAST8_TYPE__;signed char;__INT_LEAST8_MAX__;127;__INT_LEAST8_FMTd__;"hhd";__INT_LEAST8_FMTi__;"hhi";__UINT_LEAST8_TYPE__;unsigned char;__UINT_LEAST8_MAX__;255;__UINT_LEAST8_FMTo__;"hho";__UINT_LEAST8_FMTu__;"hhu";__UINT_LEAST8_FMTx__;"hhx";__UINT_LEAST8_FMTX__;"hhX";__INT_LEAST16_TYPE__;short;__INT_LEAST16_MAX__;32767;__INT_LEAST16_FMTd__;"hd";__INT_LEAST16_FMTi__;"hi";__UINT_LEAST16_TYPE__;unsigned short;__UINT_LEAST16_MAX__;65535;__UINT_LEAST16_FMTo__;"ho";__UINT_LEAST16_FMTu__;"hu";__UINT_LEAST16_FMTx__;"hx";__UINT_LEAST16_FMTX__;"hX";__INT_LEAST32_TYPE__;int;__INT_LEAST32_MAX__;2147483647;__INT_LEAST32_FMTd__;"d";__INT_LEAST32_FMTi__;"i";__UINT_LEAST32_TYPE__;unsigned int;__UINT_LEAST32_MAX__;4294967295U;__UINT_LEAST32_FMTo__;"o";__UINT_LEAST32_FMTu__;"u";__UINT_LEAST32_FMTx__;"x";__UINT_LEAST32_FMTX__;"X";__INT_LEAST64_TYPE__;long int;__INT_LEAST64_MAX__;9223372036854775807L;__INT_LEAST64_FMTd__;"ld";__INT_LEAST64_FMTi__;"li";__UINT_LEAST64_TYPE__;long unsigned int;__UINT_LEAST64_MAX__;18446744073709551615UL;__UINT_LEAST64_FMTo__;"lo";__UINT_LEAST64_FMTu__;"lu";__UINT_LEAST64_FMTx__;"lx";__UINT_LEAST64_FMTX__;"lX";__INT_FAST8_TYPE__;signed char;__INT_FAST8_MAX__;127;__INT_FAST8_FMTd__;"hhd";__INT_FAST8_FMTi__;"hhi";__UINT_FAST8_TYPE__;unsigned char;__UINT_FAST8_MAX__;255;__UINT_FAST8_FMTo__;"hho";__UINT_FAST8_FMTu__;"hhu";__UINT_FAST8_FMTx__;"hhx";__UINT_FAST8_FMTX__;"hhX";__INT_FAST16_TYPE__;short;__INT_FAST16_MAX__;32767;__INT_FAST16_FMTd__;"hd";__INT_FAST16_FMTi__;"hi";__UINT_FAST16_TYPE__;unsigned short;__UINT_FAST16_MAX__;65535;__UINT_FAST16_FMTo__;"ho";__UINT_FAST16_FMTu__;"hu";__UINT_FAST16_FMTx__;"hx";__UINT_FAST16_FMTX__;"hX";__INT_FAST32_TYPE__;int;__INT_FAST32_MAX__;2147483647;__INT_FAST32_FMTd__;"d";__INT_FAST32_FMTi__;"i";__UINT_FAST32_TYPE__;unsigned int;__UINT_FAST32_MAX__;4294967295U;__UINT_FAST32_FMTo__;"o";__UINT_FAST32_FMTu__;"u";__UINT_FAST32_FMTx__;"x";__UINT_FAST32_FMTX__;"X";__INT_FAST64_TYPE__;long int;__INT_FAST64_MAX__;9223372036854775807L;__INT_FAST64_FMTd__;"ld";__INT_FAST64_FMTi__;"li";__UINT_FAST64_TYPE__;long unsigned int;__UINT_FAST64_MAX__;18446744073709551615UL;__UINT_FAST64_FMTo__;"lo";__UINT_FAST64_FMTu__;"lu";__UINT_FAST64_FMTx__;"lx";__UINT_FAST64_FMTX__;"lX";__USER_LABEL_PREFIX__;_;__FINITE_MATH_ONLY__; ;__GNUC_GNU_INLINE__;1;__GCC_ATOMIC_TEST_AND_SET_TRUEVAL;1;__GCC_ATOMIC_BOOL_LOCK_FREE;2;__GCC_ATOMIC_CHAR_LOCK_FREE;2;__GCC_ATOMIC_CHAR16_T_LOCK_FREE;2;__GCC_ATOMIC_CHAR32_T_LOCK_FREE;2;__GCC_ATOMIC_WCHAR_T_LOCK_FREE;2;__GCC_ATOMIC_SHORT_LOCK_FREE;2;__GCC_ATOMIC_INT_LOCK_FREE;2;__GCC_ATOMIC_LONG_LOCK_FREE;2;__GCC_ATOMIC_LLONG_LOCK_FREE;2;__GCC_ATOMIC_POINTER_LOCK_FREE;2;__NO_INLINE__;1;__PIC__;2;__pic__;2;__FLT_EVAL_METHOD__; ;__FLT_RADIX__;2;__DECIMAL_DIG__;__LDBL_DECIMAL_DIG__;__SSP__;1;__nonnull;_Nonnull;__null_unspecified;_Null_unspecified;__nullable;_Nullable;__amd64__;1;__amd64;1;__x86_64;1;__x86_64__;1;__core2;1;__core2__;1;__tune_core2__;1;__REGISTER_PREFIX__; ;__NO_MATH_INLINES;1;__FXSR__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16;1;__SSE4_1__;1;__SSSE3__;1;__SSE3__;1;__SSE2__;1;__SSE2_MATH__;1;__SSE__;1;__SSE_MATH__;1;__MMX__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8;1;__APPLE_CC__;6000;__APPLE__;1;OBJC_NEW_PROPERTIES;1;__apple_build_version__;8000042;__weak;__attribute__((objc_gc(weak)));__strong; ;__unsafe_unretained; ;__DYNAMIC__;1;__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__;101200;__MACH__;1;__STDC__;1;__STDC_HOSTED__;1;__cplusplus;199711L;__STDC_UTF_16__;1;__STDC_UTF_32__;1
+CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS:INTERNAL=__llvm__;1;__clang__;1;__clang_major__;8;__clang_minor__; ;__clang_patchlevel__; ;__clang_version__;"8.0.0 (clang-800.0.42.1)";__GNUC_MINOR__;2;__GNUC_PATCHLEVEL__;1;__GNUC__;4;__GXX_ABI_VERSION;1002;__ATOMIC_RELAXED; ;__ATOMIC_CONSUME;1;__ATOMIC_ACQUIRE;2;__ATOMIC_RELEASE;3;__ATOMIC_ACQ_REL;4;__ATOMIC_SEQ_CST;5;__PRAGMA_REDEFINE_EXTNAME;1;__VERSION__;"4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)";__CONSTANT_CFSTRINGS__;1;__block;__attribute__((__blocks__(byref)));__BLOCKS__;1;__GXX_RTTI;1;__ORDER_LITTLE_ENDIAN__;1234;__ORDER_BIG_ENDIAN__;4321;__ORDER_PDP_ENDIAN__;3412;__BYTE_ORDER__;__ORDER_LITTLE_ENDIAN__;__LITTLE_ENDIAN__;1;_LP64;1;__LP64__;1;__CHAR_BIT__;8;__SCHAR_MAX__;127;__SHRT_MAX__;32767;__INT_MAX__;2147483647;__LONG_MAX__;9223372036854775807L;__LONG_LONG_MAX__;9223372036854775807LL;__WCHAR_MAX__;2147483647;__INTMAX_MAX__;9223372036854775807L;__SIZE_MAX__;18446744073709551615UL;__UINTMAX_MAX__;18446744073709551615UL;__PTRDIFF_MAX__;9223372036854775807L;__INTPTR_MAX__;9223372036854775807L;__UINTPTR_MAX__;18446744073709551615UL;__SIZEOF_DOUBLE__;8;__SIZEOF_FLOAT__;4;__SIZEOF_INT__;4;__SIZEOF_LONG__;8;__SIZEOF_LONG_DOUBLE__;16;__SIZEOF_LONG_LONG__;8;__SIZEOF_POINTER__;8;__SIZEOF_SHORT__;2;__SIZEOF_PTRDIFF_T__;8;__SIZEOF_SIZE_T__;8;__SIZEOF_WCHAR_T__;4;__SIZEOF_WINT_T__;4;__SIZEOF_INT128__;16;__INTMAX_TYPE__;long int;__INTMAX_FMTd__;"ld";__INTMAX_FMTi__;"li";__INTMAX_C_SUFFIX__;L;__UINTMAX_TYPE__;long unsigned int;__UINTMAX_FMTo__;"lo";__UINTMAX_FMTu__;"lu";__UINTMAX_FMTx__;"lx";__UINTMAX_FMTX__;"lX";__UINTMAX_C_SUFFIX__;UL;__INTMAX_WIDTH__;64;__PTRDIFF_TYPE__;long int;__PTRDIFF_FMTd__;"ld";__PTRDIFF_FMTi__;"li";__PTRDIFF_WIDTH__;64;__INTPTR_TYPE__;long int;__INTPTR_FMTd__;"ld";__INTPTR_FMTi__;"li";__INTPTR_WIDTH__;64;__SIZE_TYPE__;long unsigned int;__SIZE_FMTo__;"lo";__SIZE_FMTu__;"lu";__SIZE_FMTx__;"lx";__SIZE_FMTX__;"lX";__SIZE_WIDTH__;64;__WCHAR_TYPE__;int;__WCHAR_WIDTH__;32;__WINT_TYPE__;int;__WINT_WIDTH__;32;__SIG_ATOMIC_WIDTH__;32;__SIG_ATOMIC_MAX__;2147483647;__CHAR16_TYPE__;unsigned short;__CHAR32_TYPE__;unsigned int;__UINTMAX_WIDTH__;64;__UINTPTR_TYPE__;long unsigned int;__UINTPTR_FMTo__;"lo";__UINTPTR_FMTu__;"lu";__UINTPTR_FMTx__;"lx";__UINTPTR_FMTX__;"lX";__UINTPTR_WIDTH__;64;__FLT_DENORM_MIN__;1.40129846e-45F;__FLT_HAS_DENORM__;1;__FLT_DIG__;6;__FLT_DECIMAL_DIG__;9;__FLT_EPSILON__;1.19209290e-7F;__FLT_HAS_INFINITY__;1;__FLT_HAS_QUIET_NAN__;1;__FLT_MANT_DIG__;24;__FLT_MAX_10_EXP__;38;__FLT_MAX_EXP__;128;__FLT_MAX__;3.40282347e+38F;__FLT_MIN_10_EXP__;(-37);__FLT_MIN_EXP__;(-125);__FLT_MIN__;1.17549435e-38F;__DBL_DENORM_MIN__;4.9406564584124654e-324;__DBL_HAS_DENORM__;1;__DBL_DIG__;15;__DBL_DECIMAL_DIG__;17;__DBL_EPSILON__;2.2204460492503131e-16;__DBL_HAS_INFINITY__;1;__DBL_HAS_QUIET_NAN__;1;__DBL_MANT_DIG__;53;__DBL_MAX_10_EXP__;308;__DBL_MAX_EXP__;1024;__DBL_MAX__;1.7976931348623157e+308;__DBL_MIN_10_EXP__;(-307);__DBL_MIN_EXP__;(-1021);__DBL_MIN__;2.2250738585072014e-308;__LDBL_DENORM_MIN__;3.64519953188247460253e-4951L;__LDBL_HAS_DENORM__;1;__LDBL_DIG__;18;__LDBL_DECIMAL_DIG__;21;__LDBL_EPSILON__;1.08420217248550443401e-19L;__LDBL_HAS_INFINITY__;1;__LDBL_HAS_QUIET_NAN__;1;__LDBL_MANT_DIG__;64;__LDBL_MAX_10_EXP__;4932;__LDBL_MAX_EXP__;16384;__LDBL_MAX__;1.18973149535723176502e+4932L;__LDBL_MIN_10_EXP__;(-4931);__LDBL_MIN_EXP__;(-16381);__LDBL_MIN__;3.36210314311209350626e-4932L;__POINTER_WIDTH__;64;__BIGGEST_ALIGNMENT__;16;__INT8_TYPE__;signed char;__INT8_FMTd__;"hhd";__INT8_FMTi__;"hhi";__INT8_C_SUFFIX__; ;__INT16_TYPE__;short;__INT16_FMTd__;"hd";__INT16_FMTi__;"hi";__INT16_C_SUFFIX__; ;__INT32_TYPE__;int;__INT32_FMTd__;"d";__INT32_FMTi__;"i";__INT32_C_SUFFIX__; ;__INT64_TYPE__;long long int;__INT64_FMTd__;"lld";__INT64_FMTi__;"lli";__INT64_C_SUFFIX__;LL;__UINT8_TYPE__;unsigned char;__UINT8_FMTo__;"hho";__UINT8_FMTu__;"hhu";__UINT8_FMTx__;"hhx";__UINT8_FMTX__;"hhX";__UINT8_C_SUFFIX__; ;__UINT8_MAX__;255;__INT8_MAX__;127;__UINT16_TYPE__;unsigned short;__UINT16_FMTo__;"ho";__UINT16_FMTu__;"hu";__UINT16_FMTx__;"hx";__UINT16_FMTX__;"hX";__UINT16_C_SUFFIX__; ;__UINT16_MAX__;65535;__INT16_MAX__;32767;__UINT32_TYPE__;unsigned int;__UINT32_FMTo__;"o";__UINT32_FMTu__;"u";__UINT32_FMTx__;"x";__UINT32_FMTX__;"X";__UINT32_C_SUFFIX__;U;__UINT32_MAX__;4294967295U;__INT32_MAX__;2147483647;__UINT64_TYPE__;long long unsigned int;__UINT64_FMTo__;"llo";__UINT64_FMTu__;"llu";__UINT64_FMTx__;"llx";__UINT64_FMTX__;"llX";__UINT64_C_SUFFIX__;ULL;__UINT64_MAX__;18446744073709551615ULL;__INT64_MAX__;9223372036854775807LL;__INT_LEAST8_TYPE__;signed char;__INT_LEAST8_MAX__;127;__INT_LEAST8_FMTd__;"hhd";__INT_LEAST8_FMTi__;"hhi";__UINT_LEAST8_TYPE__;unsigned char;__UINT_LEAST8_MAX__;255;__UINT_LEAST8_FMTo__;"hho";__UINT_LEAST8_FMTu__;"hhu";__UINT_LEAST8_FMTx__;"hhx";__UINT_LEAST8_FMTX__;"hhX";__INT_LEAST16_TYPE__;short;__INT_LEAST16_MAX__;32767;__INT_LEAST16_FMTd__;"hd";__INT_LEAST16_FMTi__;"hi";__UINT_LEAST16_TYPE__;unsigned short;__UINT_LEAST16_MAX__;65535;__UINT_LEAST16_FMTo__;"ho";__UINT_LEAST16_FMTu__;"hu";__UINT_LEAST16_FMTx__;"hx";__UINT_LEAST16_FMTX__;"hX";__INT_LEAST32_TYPE__;int;__INT_LEAST32_MAX__;2147483647;__INT_LEAST32_FMTd__;"d";__INT_LEAST32_FMTi__;"i";__UINT_LEAST32_TYPE__;unsigned int;__UINT_LEAST32_MAX__;4294967295U;__UINT_LEAST32_FMTo__;"o";__UINT_LEAST32_FMTu__;"u";__UINT_LEAST32_FMTx__;"x";__UINT_LEAST32_FMTX__;"X";__INT_LEAST64_TYPE__;long int;__INT_LEAST64_MAX__;9223372036854775807L;__INT_LEAST64_FMTd__;"ld";__INT_LEAST64_FMTi__;"li";__UINT_LEAST64_TYPE__;long unsigned int;__UINT_LEAST64_MAX__;18446744073709551615UL;__UINT_LEAST64_FMTo__;"lo";__UINT_LEAST64_FMTu__;"lu";__UINT_LEAST64_FMTx__;"lx";__UINT_LEAST64_FMTX__;"lX";__INT_FAST8_TYPE__;signed char;__INT_FAST8_MAX__;127;__INT_FAST8_FMTd__;"hhd";__INT_FAST8_FMTi__;"hhi";__UINT_FAST8_TYPE__;unsigned char;__UINT_FAST8_MAX__;255;__UINT_FAST8_FMTo__;"hho";__UINT_FAST8_FMTu__;"hhu";__UINT_FAST8_FMTx__;"hhx";__UINT_FAST8_FMTX__;"hhX";__INT_FAST16_TYPE__;short;__INT_FAST16_MAX__;32767;__INT_FAST16_FMTd__;"hd";__INT_FAST16_FMTi__;"hi";__UINT_FAST16_TYPE__;unsigned short;__UINT_FAST16_MAX__;65535;__UINT_FAST16_FMTo__;"ho";__UINT_FAST16_FMTu__;"hu";__UINT_FAST16_FMTx__;"hx";__UINT_FAST16_FMTX__;"hX";__INT_FAST32_TYPE__;int;__INT_FAST32_MAX__;2147483647;__INT_FAST32_FMTd__;"d";__INT_FAST32_FMTi__;"i";__UINT_FAST32_TYPE__;unsigned int;__UINT_FAST32_MAX__;4294967295U;__UINT_FAST32_FMTo__;"o";__UINT_FAST32_FMTu__;"u";__UINT_FAST32_FMTx__;"x";__UINT_FAST32_FMTX__;"X";__INT_FAST64_TYPE__;long int;__INT_FAST64_MAX__;9223372036854775807L;__INT_FAST64_FMTd__;"ld";__INT_FAST64_FMTi__;"li";__UINT_FAST64_TYPE__;long unsigned int;__UINT_FAST64_MAX__;18446744073709551615UL;__UINT_FAST64_FMTo__;"lo";__UINT_FAST64_FMTu__;"lu";__UINT_FAST64_FMTx__;"lx";__UINT_FAST64_FMTX__;"lX";__USER_LABEL_PREFIX__;_;__FINITE_MATH_ONLY__; ;__GNUC_STDC_INLINE__;1;__GCC_ATOMIC_TEST_AND_SET_TRUEVAL;1;__GCC_ATOMIC_BOOL_LOCK_FREE;2;__GCC_ATOMIC_CHAR_LOCK_FREE;2;__GCC_ATOMIC_CHAR16_T_LOCK_FREE;2;__GCC_ATOMIC_CHAR32_T_LOCK_FREE;2;__GCC_ATOMIC_WCHAR_T_LOCK_FREE;2;__GCC_ATOMIC_SHORT_LOCK_FREE;2;__GCC_ATOMIC_INT_LOCK_FREE;2;__GCC_ATOMIC_LONG_LOCK_FREE;2;__GCC_ATOMIC_LLONG_LOCK_FREE;2;__GCC_ATOMIC_POINTER_LOCK_FREE;2;__NO_INLINE__;1;__PIC__;2;__pic__;2;__FLT_EVAL_METHOD__; ;__FLT_RADIX__;2;__DECIMAL_DIG__;__LDBL_DECIMAL_DIG__;__SSP__;1;__nonnull;_Nonnull;__null_unspecified;_Null_unspecified;__nullable;_Nullable;__amd64__;1;__amd64;1;__x86_64;1;__x86_64__;1;__core2;1;__core2__;1;__tune_core2__;1;__REGISTER_PREFIX__; ;__NO_MATH_INLINES;1;__FXSR__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16;1;__SSE4_1__;1;__SSSE3__;1;__SSE3__;1;__SSE2__;1;__SSE2_MATH__;1;__SSE__;1;__SSE_MATH__;1;__MMX__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8;1;__APPLE_CC__;6000;__APPLE__;1;OBJC_NEW_PROPERTIES;1;__apple_build_version__;8000042;__weak;__attribute__((objc_gc(weak)));__strong; ;__unsafe_unretained; ;__DYNAMIC__;1;__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__;101300;__MACH__;1;__STDC__;1;__STDC_HOSTED__;1;__STDC_VERSION__;201112L;__STDC_UTF_16__;1;__STDC_UTF_32__;1;__llvm__;1;__clang__;1;__clang_major__;8;__clang_minor__; ;__clang_patchlevel__; ;__clang_version__;"8.0.0 (clang-800.0.42.1)";__GNUC_MINOR__;2;__GNUC_PATCHLEVEL__;1;__GNUC__;4;__GXX_ABI_VERSION;1002;__ATOMIC_RELAXED; ;__ATOMIC_CONSUME;1;__ATOMIC_ACQUIRE;2;__ATOMIC_RELEASE;3;__ATOMIC_ACQ_REL;4;__ATOMIC_SEQ_CST;5;__PRAGMA_REDEFINE_EXTNAME;1;__VERSION__;"4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)";__cpp_rtti;199711;__cpp_exceptions;199711;__CONSTANT_CFSTRINGS__;1;__block;__attribute__((__blocks__(byref)));__BLOCKS__;1;__EXCEPTIONS;1;__GXX_RTTI;1;__DEPRECATED;1;__GNUG__;4;__GXX_WEAK__;1;__private_extern__;extern;__ORDER_LITTLE_ENDIAN__;1234;__ORDER_BIG_ENDIAN__;4321;__ORDER_PDP_ENDIAN__;3412;__BYTE_ORDER__;__ORDER_LITTLE_ENDIAN__;__LITTLE_ENDIAN__;1;_LP64;1;__LP64__;1;__CHAR_BIT__;8;__SCHAR_MAX__;127;__SHRT_MAX__;32767;__INT_MAX__;2147483647;__LONG_MAX__;9223372036854775807L;__LONG_LONG_MAX__;9223372036854775807LL;__WCHAR_MAX__;2147483647;__INTMAX_MAX__;9223372036854775807L;__SIZE_MAX__;18446744073709551615UL;__UINTMAX_MAX__;18446744073709551615UL;__PTRDIFF_MAX__;9223372036854775807L;__INTPTR_MAX__;9223372036854775807L;__UINTPTR_MAX__;18446744073709551615UL;__SIZEOF_DOUBLE__;8;__SIZEOF_FLOAT__;4;__SIZEOF_INT__;4;__SIZEOF_LONG__;8;__SIZEOF_LONG_DOUBLE__;16;__SIZEOF_LONG_LONG__;8;__SIZEOF_POINTER__;8;__SIZEOF_SHORT__;2;__SIZEOF_PTRDIFF_T__;8;__SIZEOF_SIZE_T__;8;__SIZEOF_WCHAR_T__;4;__SIZEOF_WINT_T__;4;__SIZEOF_INT128__;16;__INTMAX_TYPE__;long int;__INTMAX_FMTd__;"ld";__INTMAX_FMTi__;"li";__INTMAX_C_SUFFIX__;L;__UINTMAX_TYPE__;long unsigned int;__UINTMAX_FMTo__;"lo";__UINTMAX_FMTu__;"lu";__UINTMAX_FMTx__;"lx";__UINTMAX_FMTX__;"lX";__UINTMAX_C_SUFFIX__;UL;__INTMAX_WIDTH__;64;__PTRDIFF_TYPE__;long int;__PTRDIFF_FMTd__;"ld";__PTRDIFF_FMTi__;"li";__PTRDIFF_WIDTH__;64;__INTPTR_TYPE__;long int;__INTPTR_FMTd__;"ld";__INTPTR_FMTi__;"li";__INTPTR_WIDTH__;64;__SIZE_TYPE__;long unsigned int;__SIZE_FMTo__;"lo";__SIZE_FMTu__;"lu";__SIZE_FMTx__;"lx";__SIZE_FMTX__;"lX";__SIZE_WIDTH__;64;__WCHAR_TYPE__;int;__WCHAR_WIDTH__;32;__WINT_TYPE__;int;__WINT_WIDTH__;32;__SIG_ATOMIC_WIDTH__;32;__SIG_ATOMIC_MAX__;2147483647;__CHAR16_TYPE__;unsigned short;__CHAR32_TYPE__;unsigned int;__UINTMAX_WIDTH__;64;__UINTPTR_TYPE__;long unsigned int;__UINTPTR_FMTo__;"lo";__UINTPTR_FMTu__;"lu";__UINTPTR_FMTx__;"lx";__UINTPTR_FMTX__;"lX";__UINTPTR_WIDTH__;64;__FLT_DENORM_MIN__;1.40129846e-45F;__FLT_HAS_DENORM__;1;__FLT_DIG__;6;__FLT_DECIMAL_DIG__;9;__FLT_EPSILON__;1.19209290e-7F;__FLT_HAS_INFINITY__;1;__FLT_HAS_QUIET_NAN__;1;__FLT_MANT_DIG__;24;__FLT_MAX_10_EXP__;38;__FLT_MAX_EXP__;128;__FLT_MAX__;3.40282347e+38F;__FLT_MIN_10_EXP__;(-37);__FLT_MIN_EXP__;(-125);__FLT_MIN__;1.17549435e-38F;__DBL_DENORM_MIN__;4.9406564584124654e-324;__DBL_HAS_DENORM__;1;__DBL_DIG__;15;__DBL_DECIMAL_DIG__;17;__DBL_EPSILON__;2.2204460492503131e-16;__DBL_HAS_INFINITY__;1;__DBL_HAS_QUIET_NAN__;1;__DBL_MANT_DIG__;53;__DBL_MAX_10_EXP__;308;__DBL_MAX_EXP__;1024;__DBL_MAX__;1.7976931348623157e+308;__DBL_MIN_10_EXP__;(-307);__DBL_MIN_EXP__;(-1021);__DBL_MIN__;2.2250738585072014e-308;__LDBL_DENORM_MIN__;3.64519953188247460253e-4951L;__LDBL_HAS_DENORM__;1;__LDBL_DIG__;18;__LDBL_DECIMAL_DIG__;21;__LDBL_EPSILON__;1.08420217248550443401e-19L;__LDBL_HAS_INFINITY__;1;__LDBL_HAS_QUIET_NAN__;1;__LDBL_MANT_DIG__;64;__LDBL_MAX_10_EXP__;4932;__LDBL_MAX_EXP__;16384;__LDBL_MAX__;1.18973149535723176502e+4932L;__LDBL_MIN_10_EXP__;(-4931);__LDBL_MIN_EXP__;(-16381);__LDBL_MIN__;3.36210314311209350626e-4932L;__POINTER_WIDTH__;64;__BIGGEST_ALIGNMENT__;16;__INT8_TYPE__;signed char;__INT8_FMTd__;"hhd";__INT8_FMTi__;"hhi";__INT8_C_SUFFIX__; ;__INT16_TYPE__;short;__INT16_FMTd__;"hd";__INT16_FMTi__;"hi";__INT16_C_SUFFIX__; ;__INT32_TYPE__;int;__INT32_FMTd__;"d";__INT32_FMTi__;"i";__INT32_C_SUFFIX__; ;__INT64_TYPE__;long long int;__INT64_FMTd__;"lld";__INT64_FMTi__;"lli";__INT64_C_SUFFIX__;LL;__UINT8_TYPE__;unsigned char;__UINT8_FMTo__;"hho";__UINT8_FMTu__;"hhu";__UINT8_FMTx__;"hhx";__UINT8_FMTX__;"hhX";__UINT8_C_SUFFIX__; ;__UINT8_MAX__;255;__INT8_MAX__;127;__UINT16_TYPE__;unsigned short;__UINT16_FMTo__;"ho";__UINT16_FMTu__;"hu";__UINT16_FMTx__;"hx";__UINT16_FMTX__;"hX";__UINT16_C_SUFFIX__; ;__UINT16_MAX__;65535;__INT16_MAX__;32767;__UINT32_TYPE__;unsigned int;__UINT32_FMTo__;"o";__UINT32_FMTu__;"u";__UINT32_FMTx__;"x";__UINT32_FMTX__;"X";__UINT32_C_SUFFIX__;U;__UINT32_MAX__;4294967295U;__INT32_MAX__;2147483647;__UINT64_TYPE__;long long unsigned int;__UINT64_FMTo__;"llo";__UINT64_FMTu__;"llu";__UINT64_FMTx__;"llx";__UINT64_FMTX__;"llX";__UINT64_C_SUFFIX__;ULL;__UINT64_MAX__;18446744073709551615ULL;__INT64_MAX__;9223372036854775807LL;__INT_LEAST8_TYPE__;signed char;__INT_LEAST8_MAX__;127;__INT_LEAST8_FMTd__;"hhd";__INT_LEAST8_FMTi__;"hhi";__UINT_LEAST8_TYPE__;unsigned char;__UINT_LEAST8_MAX__;255;__UINT_LEAST8_FMTo__;"hho";__UINT_LEAST8_FMTu__;"hhu";__UINT_LEAST8_FMTx__;"hhx";__UINT_LEAST8_FMTX__;"hhX";__INT_LEAST16_TYPE__;short;__INT_LEAST16_MAX__;32767;__INT_LEAST16_FMTd__;"hd";__INT_LEAST16_FMTi__;"hi";__UINT_LEAST16_TYPE__;unsigned short;__UINT_LEAST16_MAX__;65535;__UINT_LEAST16_FMTo__;"ho";__UINT_LEAST16_FMTu__;"hu";__UINT_LEAST16_FMTx__;"hx";__UINT_LEAST16_FMTX__;"hX";__INT_LEAST32_TYPE__;int;__INT_LEAST32_MAX__;2147483647;__INT_LEAST32_FMTd__;"d";__INT_LEAST32_FMTi__;"i";__UINT_LEAST32_TYPE__;unsigned int;__UINT_LEAST32_MAX__;4294967295U;__UINT_LEAST32_FMTo__;"o";__UINT_LEAST32_FMTu__;"u";__UINT_LEAST32_FMTx__;"x";__UINT_LEAST32_FMTX__;"X";__INT_LEAST64_TYPE__;long int;__INT_LEAST64_MAX__;9223372036854775807L;__INT_LEAST64_FMTd__;"ld";__INT_LEAST64_FMTi__;"li";__UINT_LEAST64_TYPE__;long unsigned int;__UINT_LEAST64_MAX__;18446744073709551615UL;__UINT_LEAST64_FMTo__;"lo";__UINT_LEAST64_FMTu__;"lu";__UINT_LEAST64_FMTx__;"lx";__UINT_LEAST64_FMTX__;"lX";__INT_FAST8_TYPE__;signed char;__INT_FAST8_MAX__;127;__INT_FAST8_FMTd__;"hhd";__INT_FAST8_FMTi__;"hhi";__UINT_FAST8_TYPE__;unsigned char;__UINT_FAST8_MAX__;255;__UINT_FAST8_FMTo__;"hho";__UINT_FAST8_FMTu__;"hhu";__UINT_FAST8_FMTx__;"hhx";__UINT_FAST8_FMTX__;"hhX";__INT_FAST16_TYPE__;short;__INT_FAST16_MAX__;32767;__INT_FAST16_FMTd__;"hd";__INT_FAST16_FMTi__;"hi";__UINT_FAST16_TYPE__;unsigned short;__UINT_FAST16_MAX__;65535;__UINT_FAST16_FMTo__;"ho";__UINT_FAST16_FMTu__;"hu";__UINT_FAST16_FMTx__;"hx";__UINT_FAST16_FMTX__;"hX";__INT_FAST32_TYPE__;int;__INT_FAST32_MAX__;2147483647;__INT_FAST32_FMTd__;"d";__INT_FAST32_FMTi__;"i";__UINT_FAST32_TYPE__;unsigned int;__UINT_FAST32_MAX__;4294967295U;__UINT_FAST32_FMTo__;"o";__UINT_FAST32_FMTu__;"u";__UINT_FAST32_FMTx__;"x";__UINT_FAST32_FMTX__;"X";__INT_FAST64_TYPE__;long int;__INT_FAST64_MAX__;9223372036854775807L;__INT_FAST64_FMTd__;"ld";__INT_FAST64_FMTi__;"li";__UINT_FAST64_TYPE__;long unsigned int;__UINT_FAST64_MAX__;18446744073709551615UL;__UINT_FAST64_FMTo__;"lo";__UINT_FAST64_FMTu__;"lu";__UINT_FAST64_FMTx__;"lx";__UINT_FAST64_FMTX__;"lX";__USER_LABEL_PREFIX__;_;__FINITE_MATH_ONLY__; ;__GNUC_GNU_INLINE__;1;__GCC_ATOMIC_TEST_AND_SET_TRUEVAL;1;__GCC_ATOMIC_BOOL_LOCK_FREE;2;__GCC_ATOMIC_CHAR_LOCK_FREE;2;__GCC_ATOMIC_CHAR16_T_LOCK_FREE;2;__GCC_ATOMIC_CHAR32_T_LOCK_FREE;2;__GCC_ATOMIC_WCHAR_T_LOCK_FREE;2;__GCC_ATOMIC_SHORT_LOCK_FREE;2;__GCC_ATOMIC_INT_LOCK_FREE;2;__GCC_ATOMIC_LONG_LOCK_FREE;2;__GCC_ATOMIC_LLONG_LOCK_FREE;2;__GCC_ATOMIC_POINTER_LOCK_FREE;2;__NO_INLINE__;1;__PIC__;2;__pic__;2;__FLT_EVAL_METHOD__; ;__FLT_RADIX__;2;__DECIMAL_DIG__;__LDBL_DECIMAL_DIG__;__SSP__;1;__nonnull;_Nonnull;__null_unspecified;_Null_unspecified;__nullable;_Nullable;__amd64__;1;__amd64;1;__x86_64;1;__x86_64__;1;__core2;1;__core2__;1;__tune_core2__;1;__REGISTER_PREFIX__; ;__NO_MATH_INLINES;1;__FXSR__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16;1;__SSE4_1__;1;__SSSE3__;1;__SSE3__;1;__SSE2__;1;__SSE2_MATH__;1;__SSE__;1;__SSE_MATH__;1;__MMX__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8;1;__APPLE_CC__;6000;__APPLE__;1;OBJC_NEW_PROPERTIES;1;__apple_build_version__;8000042;__weak;__attribute__((objc_gc(weak)));__strong; ;__unsafe_unretained; ;__DYNAMIC__;1;__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__;101300;__MACH__;1;__STDC__;1;__STDC_HOSTED__;1;__cplusplus;199711L;__STDC_UTF_16__;1;__STDC_UTF_32__;1
 //CXX compiler system include directories
-CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS:INTERNAL=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1;/usr/local/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include;/usr/include;/System/Library/Frameworks;/Library/Frameworks
+CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS:INTERNAL=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1;/usr/local/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include;/System/Library/Frameworks;/Library/Frameworks
 //C compiler system defined macros
-CMAKE_EXTRA_GENERATOR_C_SYSTEM_DEFINED_MACROS:INTERNAL=__llvm__;1;__clang__;1;__clang_major__;8;__clang_minor__; ;__clang_patchlevel__; ;__clang_version__;"8.0.0 (clang-800.0.42.1)";__GNUC_MINOR__;2;__GNUC_PATCHLEVEL__;1;__GNUC__;4;__GXX_ABI_VERSION;1002;__ATOMIC_RELAXED; ;__ATOMIC_CONSUME;1;__ATOMIC_ACQUIRE;2;__ATOMIC_RELEASE;3;__ATOMIC_ACQ_REL;4;__ATOMIC_SEQ_CST;5;__PRAGMA_REDEFINE_EXTNAME;1;__VERSION__;"4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)";__CONSTANT_CFSTRINGS__;1;__block;__attribute__((__blocks__(byref)));__BLOCKS__;1;__GXX_RTTI;1;__ORDER_LITTLE_ENDIAN__;1234;__ORDER_BIG_ENDIAN__;4321;__ORDER_PDP_ENDIAN__;3412;__BYTE_ORDER__;__ORDER_LITTLE_ENDIAN__;__LITTLE_ENDIAN__;1;_LP64;1;__LP64__;1;__CHAR_BIT__;8;__SCHAR_MAX__;127;__SHRT_MAX__;32767;__INT_MAX__;2147483647;__LONG_MAX__;9223372036854775807L;__LONG_LONG_MAX__;9223372036854775807LL;__WCHAR_MAX__;2147483647;__INTMAX_MAX__;9223372036854775807L;__SIZE_MAX__;18446744073709551615UL;__UINTMAX_MAX__;18446744073709551615UL;__PTRDIFF_MAX__;9223372036854775807L;__INTPTR_MAX__;9223372036854775807L;__UINTPTR_MAX__;18446744073709551615UL;__SIZEOF_DOUBLE__;8;__SIZEOF_FLOAT__;4;__SIZEOF_INT__;4;__SIZEOF_LONG__;8;__SIZEOF_LONG_DOUBLE__;16;__SIZEOF_LONG_LONG__;8;__SIZEOF_POINTER__;8;__SIZEOF_SHORT__;2;__SIZEOF_PTRDIFF_T__;8;__SIZEOF_SIZE_T__;8;__SIZEOF_WCHAR_T__;4;__SIZEOF_WINT_T__;4;__SIZEOF_INT128__;16;__INTMAX_TYPE__;long int;__INTMAX_FMTd__;"ld";__INTMAX_FMTi__;"li";__INTMAX_C_SUFFIX__;L;__UINTMAX_TYPE__;long unsigned int;__UINTMAX_FMTo__;"lo";__UINTMAX_FMTu__;"lu";__UINTMAX_FMTx__;"lx";__UINTMAX_FMTX__;"lX";__UINTMAX_C_SUFFIX__;UL;__INTMAX_WIDTH__;64;__PTRDIFF_TYPE__;long int;__PTRDIFF_FMTd__;"ld";__PTRDIFF_FMTi__;"li";__PTRDIFF_WIDTH__;64;__INTPTR_TYPE__;long int;__INTPTR_FMTd__;"ld";__INTPTR_FMTi__;"li";__INTPTR_WIDTH__;64;__SIZE_TYPE__;long unsigned int;__SIZE_FMTo__;"lo";__SIZE_FMTu__;"lu";__SIZE_FMTx__;"lx";__SIZE_FMTX__;"lX";__SIZE_WIDTH__;64;__WCHAR_TYPE__;int;__WCHAR_WIDTH__;32;__WINT_TYPE__;int;__WINT_WIDTH__;32;__SIG_ATOMIC_WIDTH__;32;__SIG_ATOMIC_MAX__;2147483647;__CHAR16_TYPE__;unsigned short;__CHAR32_TYPE__;unsigned int;__UINTMAX_WIDTH__;64;__UINTPTR_TYPE__;long unsigned int;__UINTPTR_FMTo__;"lo";__UINTPTR_FMTu__;"lu";__UINTPTR_FMTx__;"lx";__UINTPTR_FMTX__;"lX";__UINTPTR_WIDTH__;64;__FLT_DENORM_MIN__;1.40129846e-45F;__FLT_HAS_DENORM__;1;__FLT_DIG__;6;__FLT_DECIMAL_DIG__;9;__FLT_EPSILON__;1.19209290e-7F;__FLT_HAS_INFINITY__;1;__FLT_HAS_QUIET_NAN__;1;__FLT_MANT_DIG__;24;__FLT_MAX_10_EXP__;38;__FLT_MAX_EXP__;128;__FLT_MAX__;3.40282347e+38F;__FLT_MIN_10_EXP__;(-37);__FLT_MIN_EXP__;(-125);__FLT_MIN__;1.17549435e-38F;__DBL_DENORM_MIN__;4.9406564584124654e-324;__DBL_HAS_DENORM__;1;__DBL_DIG__;15;__DBL_DECIMAL_DIG__;17;__DBL_EPSILON__;2.2204460492503131e-16;__DBL_HAS_INFINITY__;1;__DBL_HAS_QUIET_NAN__;1;__DBL_MANT_DIG__;53;__DBL_MAX_10_EXP__;308;__DBL_MAX_EXP__;1024;__DBL_MAX__;1.7976931348623157e+308;__DBL_MIN_10_EXP__;(-307);__DBL_MIN_EXP__;(-1021);__DBL_MIN__;2.2250738585072014e-308;__LDBL_DENORM_MIN__;3.64519953188247460253e-4951L;__LDBL_HAS_DENORM__;1;__LDBL_DIG__;18;__LDBL_DECIMAL_DIG__;21;__LDBL_EPSILON__;1.08420217248550443401e-19L;__LDBL_HAS_INFINITY__;1;__LDBL_HAS_QUIET_NAN__;1;__LDBL_MANT_DIG__;64;__LDBL_MAX_10_EXP__;4932;__LDBL_MAX_EXP__;16384;__LDBL_MAX__;1.18973149535723176502e+4932L;__LDBL_MIN_10_EXP__;(-4931);__LDBL_MIN_EXP__;(-16381);__LDBL_MIN__;3.36210314311209350626e-4932L;__POINTER_WIDTH__;64;__BIGGEST_ALIGNMENT__;16;__INT8_TYPE__;signed char;__INT8_FMTd__;"hhd";__INT8_FMTi__;"hhi";__INT8_C_SUFFIX__; ;__INT16_TYPE__;short;__INT16_FMTd__;"hd";__INT16_FMTi__;"hi";__INT16_C_SUFFIX__; ;__INT32_TYPE__;int;__INT32_FMTd__;"d";__INT32_FMTi__;"i";__INT32_C_SUFFIX__; ;__INT64_TYPE__;long long int;__INT64_FMTd__;"lld";__INT64_FMTi__;"lli";__INT64_C_SUFFIX__;LL;__UINT8_TYPE__;unsigned char;__UINT8_FMTo__;"hho";__UINT8_FMTu__;"hhu";__UINT8_FMTx__;"hhx";__UINT8_FMTX__;"hhX";__UINT8_C_SUFFIX__; ;__UINT8_MAX__;255;__INT8_MAX__;127;__UINT16_TYPE__;unsigned short;__UINT16_FMTo__;"ho";__UINT16_FMTu__;"hu";__UINT16_FMTx__;"hx";__UINT16_FMTX__;"hX";__UINT16_C_SUFFIX__; ;__UINT16_MAX__;65535;__INT16_MAX__;32767;__UINT32_TYPE__;unsigned int;__UINT32_FMTo__;"o";__UINT32_FMTu__;"u";__UINT32_FMTx__;"x";__UINT32_FMTX__;"X";__UINT32_C_SUFFIX__;U;__UINT32_MAX__;4294967295U;__INT32_MAX__;2147483647;__UINT64_TYPE__;long long unsigned int;__UINT64_FMTo__;"llo";__UINT64_FMTu__;"llu";__UINT64_FMTx__;"llx";__UINT64_FMTX__;"llX";__UINT64_C_SUFFIX__;ULL;__UINT64_MAX__;18446744073709551615ULL;__INT64_MAX__;9223372036854775807LL;__INT_LEAST8_TYPE__;signed char;__INT_LEAST8_MAX__;127;__INT_LEAST8_FMTd__;"hhd";__INT_LEAST8_FMTi__;"hhi";__UINT_LEAST8_TYPE__;unsigned char;__UINT_LEAST8_MAX__;255;__UINT_LEAST8_FMTo__;"hho";__UINT_LEAST8_FMTu__;"hhu";__UINT_LEAST8_FMTx__;"hhx";__UINT_LEAST8_FMTX__;"hhX";__INT_LEAST16_TYPE__;short;__INT_LEAST16_MAX__;32767;__INT_LEAST16_FMTd__;"hd";__INT_LEAST16_FMTi__;"hi";__UINT_LEAST16_TYPE__;unsigned short;__UINT_LEAST16_MAX__;65535;__UINT_LEAST16_FMTo__;"ho";__UINT_LEAST16_FMTu__;"hu";__UINT_LEAST16_FMTx__;"hx";__UINT_LEAST16_FMTX__;"hX";__INT_LEAST32_TYPE__;int;__INT_LEAST32_MAX__;2147483647;__INT_LEAST32_FMTd__;"d";__INT_LEAST32_FMTi__;"i";__UINT_LEAST32_TYPE__;unsigned int;__UINT_LEAST32_MAX__;4294967295U;__UINT_LEAST32_FMTo__;"o";__UINT_LEAST32_FMTu__;"u";__UINT_LEAST32_FMTx__;"x";__UINT_LEAST32_FMTX__;"X";__INT_LEAST64_TYPE__;long int;__INT_LEAST64_MAX__;9223372036854775807L;__INT_LEAST64_FMTd__;"ld";__INT_LEAST64_FMTi__;"li";__UINT_LEAST64_TYPE__;long unsigned int;__UINT_LEAST64_MAX__;18446744073709551615UL;__UINT_LEAST64_FMTo__;"lo";__UINT_LEAST64_FMTu__;"lu";__UINT_LEAST64_FMTx__;"lx";__UINT_LEAST64_FMTX__;"lX";__INT_FAST8_TYPE__;signed char;__INT_FAST8_MAX__;127;__INT_FAST8_FMTd__;"hhd";__INT_FAST8_FMTi__;"hhi";__UINT_FAST8_TYPE__;unsigned char;__UINT_FAST8_MAX__;255;__UINT_FAST8_FMTo__;"hho";__UINT_FAST8_FMTu__;"hhu";__UINT_FAST8_FMTx__;"hhx";__UINT_FAST8_FMTX__;"hhX";__INT_FAST16_TYPE__;short;__INT_FAST16_MAX__;32767;__INT_FAST16_FMTd__;"hd";__INT_FAST16_FMTi__;"hi";__UINT_FAST16_TYPE__;unsigned short;__UINT_FAST16_MAX__;65535;__UINT_FAST16_FMTo__;"ho";__UINT_FAST16_FMTu__;"hu";__UINT_FAST16_FMTx__;"hx";__UINT_FAST16_FMTX__;"hX";__INT_FAST32_TYPE__;int;__INT_FAST32_MAX__;2147483647;__INT_FAST32_FMTd__;"d";__INT_FAST32_FMTi__;"i";__UINT_FAST32_TYPE__;unsigned int;__UINT_FAST32_MAX__;4294967295U;__UINT_FAST32_FMTo__;"o";__UINT_FAST32_FMTu__;"u";__UINT_FAST32_FMTx__;"x";__UINT_FAST32_FMTX__;"X";__INT_FAST64_TYPE__;long int;__INT_FAST64_MAX__;9223372036854775807L;__INT_FAST64_FMTd__;"ld";__INT_FAST64_FMTi__;"li";__UINT_FAST64_TYPE__;long unsigned int;__UINT_FAST64_MAX__;18446744073709551615UL;__UINT_FAST64_FMTo__;"lo";__UINT_FAST64_FMTu__;"lu";__UINT_FAST64_FMTx__;"lx";__UINT_FAST64_FMTX__;"lX";__USER_LABEL_PREFIX__;_;__FINITE_MATH_ONLY__; ;__GNUC_STDC_INLINE__;1;__GCC_ATOMIC_TEST_AND_SET_TRUEVAL;1;__GCC_ATOMIC_BOOL_LOCK_FREE;2;__GCC_ATOMIC_CHAR_LOCK_FREE;2;__GCC_ATOMIC_CHAR16_T_LOCK_FREE;2;__GCC_ATOMIC_CHAR32_T_LOCK_FREE;2;__GCC_ATOMIC_WCHAR_T_LOCK_FREE;2;__GCC_ATOMIC_SHORT_LOCK_FREE;2;__GCC_ATOMIC_INT_LOCK_FREE;2;__GCC_ATOMIC_LONG_LOCK_FREE;2;__GCC_ATOMIC_LLONG_LOCK_FREE;2;__GCC_ATOMIC_POINTER_LOCK_FREE;2;__NO_INLINE__;1;__PIC__;2;__pic__;2;__FLT_EVAL_METHOD__; ;__FLT_RADIX__;2;__DECIMAL_DIG__;__LDBL_DECIMAL_DIG__;__SSP__;1;__nonnull;_Nonnull;__null_unspecified;_Null_unspecified;__nullable;_Nullable;__amd64__;1;__amd64;1;__x86_64;1;__x86_64__;1;__core2;1;__core2__;1;__tune_core2__;1;__REGISTER_PREFIX__; ;__NO_MATH_INLINES;1;__FXSR__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16;1;__SSE4_1__;1;__SSSE3__;1;__SSE3__;1;__SSE2__;1;__SSE2_MATH__;1;__SSE__;1;__SSE_MATH__;1;__MMX__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8;1;__APPLE_CC__;6000;__APPLE__;1;OBJC_NEW_PROPERTIES;1;__apple_build_version__;8000042;__weak;__attribute__((objc_gc(weak)));__strong; ;__unsafe_unretained; ;__DYNAMIC__;1;__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__;101200;__MACH__;1;__STDC__;1;__STDC_HOSTED__;1;__STDC_VERSION__;201112L;__STDC_UTF_16__;1;__STDC_UTF_32__;1
+CMAKE_EXTRA_GENERATOR_C_SYSTEM_DEFINED_MACROS:INTERNAL=__llvm__;1;__clang__;1;__clang_major__;8;__clang_minor__; ;__clang_patchlevel__; ;__clang_version__;"8.0.0 (clang-800.0.42.1)";__GNUC_MINOR__;2;__GNUC_PATCHLEVEL__;1;__GNUC__;4;__GXX_ABI_VERSION;1002;__ATOMIC_RELAXED; ;__ATOMIC_CONSUME;1;__ATOMIC_ACQUIRE;2;__ATOMIC_RELEASE;3;__ATOMIC_ACQ_REL;4;__ATOMIC_SEQ_CST;5;__PRAGMA_REDEFINE_EXTNAME;1;__VERSION__;"4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)";__CONSTANT_CFSTRINGS__;1;__block;__attribute__((__blocks__(byref)));__BLOCKS__;1;__GXX_RTTI;1;__ORDER_LITTLE_ENDIAN__;1234;__ORDER_BIG_ENDIAN__;4321;__ORDER_PDP_ENDIAN__;3412;__BYTE_ORDER__;__ORDER_LITTLE_ENDIAN__;__LITTLE_ENDIAN__;1;_LP64;1;__LP64__;1;__CHAR_BIT__;8;__SCHAR_MAX__;127;__SHRT_MAX__;32767;__INT_MAX__;2147483647;__LONG_MAX__;9223372036854775807L;__LONG_LONG_MAX__;9223372036854775807LL;__WCHAR_MAX__;2147483647;__INTMAX_MAX__;9223372036854775807L;__SIZE_MAX__;18446744073709551615UL;__UINTMAX_MAX__;18446744073709551615UL;__PTRDIFF_MAX__;9223372036854775807L;__INTPTR_MAX__;9223372036854775807L;__UINTPTR_MAX__;18446744073709551615UL;__SIZEOF_DOUBLE__;8;__SIZEOF_FLOAT__;4;__SIZEOF_INT__;4;__SIZEOF_LONG__;8;__SIZEOF_LONG_DOUBLE__;16;__SIZEOF_LONG_LONG__;8;__SIZEOF_POINTER__;8;__SIZEOF_SHORT__;2;__SIZEOF_PTRDIFF_T__;8;__SIZEOF_SIZE_T__;8;__SIZEOF_WCHAR_T__;4;__SIZEOF_WINT_T__;4;__SIZEOF_INT128__;16;__INTMAX_TYPE__;long int;__INTMAX_FMTd__;"ld";__INTMAX_FMTi__;"li";__INTMAX_C_SUFFIX__;L;__UINTMAX_TYPE__;long unsigned int;__UINTMAX_FMTo__;"lo";__UINTMAX_FMTu__;"lu";__UINTMAX_FMTx__;"lx";__UINTMAX_FMTX__;"lX";__UINTMAX_C_SUFFIX__;UL;__INTMAX_WIDTH__;64;__PTRDIFF_TYPE__;long int;__PTRDIFF_FMTd__;"ld";__PTRDIFF_FMTi__;"li";__PTRDIFF_WIDTH__;64;__INTPTR_TYPE__;long int;__INTPTR_FMTd__;"ld";__INTPTR_FMTi__;"li";__INTPTR_WIDTH__;64;__SIZE_TYPE__;long unsigned int;__SIZE_FMTo__;"lo";__SIZE_FMTu__;"lu";__SIZE_FMTx__;"lx";__SIZE_FMTX__;"lX";__SIZE_WIDTH__;64;__WCHAR_TYPE__;int;__WCHAR_WIDTH__;32;__WINT_TYPE__;int;__WINT_WIDTH__;32;__SIG_ATOMIC_WIDTH__;32;__SIG_ATOMIC_MAX__;2147483647;__CHAR16_TYPE__;unsigned short;__CHAR32_TYPE__;unsigned int;__UINTMAX_WIDTH__;64;__UINTPTR_TYPE__;long unsigned int;__UINTPTR_FMTo__;"lo";__UINTPTR_FMTu__;"lu";__UINTPTR_FMTx__;"lx";__UINTPTR_FMTX__;"lX";__UINTPTR_WIDTH__;64;__FLT_DENORM_MIN__;1.40129846e-45F;__FLT_HAS_DENORM__;1;__FLT_DIG__;6;__FLT_DECIMAL_DIG__;9;__FLT_EPSILON__;1.19209290e-7F;__FLT_HAS_INFINITY__;1;__FLT_HAS_QUIET_NAN__;1;__FLT_MANT_DIG__;24;__FLT_MAX_10_EXP__;38;__FLT_MAX_EXP__;128;__FLT_MAX__;3.40282347e+38F;__FLT_MIN_10_EXP__;(-37);__FLT_MIN_EXP__;(-125);__FLT_MIN__;1.17549435e-38F;__DBL_DENORM_MIN__;4.9406564584124654e-324;__DBL_HAS_DENORM__;1;__DBL_DIG__;15;__DBL_DECIMAL_DIG__;17;__DBL_EPSILON__;2.2204460492503131e-16;__DBL_HAS_INFINITY__;1;__DBL_HAS_QUIET_NAN__;1;__DBL_MANT_DIG__;53;__DBL_MAX_10_EXP__;308;__DBL_MAX_EXP__;1024;__DBL_MAX__;1.7976931348623157e+308;__DBL_MIN_10_EXP__;(-307);__DBL_MIN_EXP__;(-1021);__DBL_MIN__;2.2250738585072014e-308;__LDBL_DENORM_MIN__;3.64519953188247460253e-4951L;__LDBL_HAS_DENORM__;1;__LDBL_DIG__;18;__LDBL_DECIMAL_DIG__;21;__LDBL_EPSILON__;1.08420217248550443401e-19L;__LDBL_HAS_INFINITY__;1;__LDBL_HAS_QUIET_NAN__;1;__LDBL_MANT_DIG__;64;__LDBL_MAX_10_EXP__;4932;__LDBL_MAX_EXP__;16384;__LDBL_MAX__;1.18973149535723176502e+4932L;__LDBL_MIN_10_EXP__;(-4931);__LDBL_MIN_EXP__;(-16381);__LDBL_MIN__;3.36210314311209350626e-4932L;__POINTER_WIDTH__;64;__BIGGEST_ALIGNMENT__;16;__INT8_TYPE__;signed char;__INT8_FMTd__;"hhd";__INT8_FMTi__;"hhi";__INT8_C_SUFFIX__; ;__INT16_TYPE__;short;__INT16_FMTd__;"hd";__INT16_FMTi__;"hi";__INT16_C_SUFFIX__; ;__INT32_TYPE__;int;__INT32_FMTd__;"d";__INT32_FMTi__;"i";__INT32_C_SUFFIX__; ;__INT64_TYPE__;long long int;__INT64_FMTd__;"lld";__INT64_FMTi__;"lli";__INT64_C_SUFFIX__;LL;__UINT8_TYPE__;unsigned char;__UINT8_FMTo__;"hho";__UINT8_FMTu__;"hhu";__UINT8_FMTx__;"hhx";__UINT8_FMTX__;"hhX";__UINT8_C_SUFFIX__; ;__UINT8_MAX__;255;__INT8_MAX__;127;__UINT16_TYPE__;unsigned short;__UINT16_FMTo__;"ho";__UINT16_FMTu__;"hu";__UINT16_FMTx__;"hx";__UINT16_FMTX__;"hX";__UINT16_C_SUFFIX__; ;__UINT16_MAX__;65535;__INT16_MAX__;32767;__UINT32_TYPE__;unsigned int;__UINT32_FMTo__;"o";__UINT32_FMTu__;"u";__UINT32_FMTx__;"x";__UINT32_FMTX__;"X";__UINT32_C_SUFFIX__;U;__UINT32_MAX__;4294967295U;__INT32_MAX__;2147483647;__UINT64_TYPE__;long long unsigned int;__UINT64_FMTo__;"llo";__UINT64_FMTu__;"llu";__UINT64_FMTx__;"llx";__UINT64_FMTX__;"llX";__UINT64_C_SUFFIX__;ULL;__UINT64_MAX__;18446744073709551615ULL;__INT64_MAX__;9223372036854775807LL;__INT_LEAST8_TYPE__;signed char;__INT_LEAST8_MAX__;127;__INT_LEAST8_FMTd__;"hhd";__INT_LEAST8_FMTi__;"hhi";__UINT_LEAST8_TYPE__;unsigned char;__UINT_LEAST8_MAX__;255;__UINT_LEAST8_FMTo__;"hho";__UINT_LEAST8_FMTu__;"hhu";__UINT_LEAST8_FMTx__;"hhx";__UINT_LEAST8_FMTX__;"hhX";__INT_LEAST16_TYPE__;short;__INT_LEAST16_MAX__;32767;__INT_LEAST16_FMTd__;"hd";__INT_LEAST16_FMTi__;"hi";__UINT_LEAST16_TYPE__;unsigned short;__UINT_LEAST16_MAX__;65535;__UINT_LEAST16_FMTo__;"ho";__UINT_LEAST16_FMTu__;"hu";__UINT_LEAST16_FMTx__;"hx";__UINT_LEAST16_FMTX__;"hX";__INT_LEAST32_TYPE__;int;__INT_LEAST32_MAX__;2147483647;__INT_LEAST32_FMTd__;"d";__INT_LEAST32_FMTi__;"i";__UINT_LEAST32_TYPE__;unsigned int;__UINT_LEAST32_MAX__;4294967295U;__UINT_LEAST32_FMTo__;"o";__UINT_LEAST32_FMTu__;"u";__UINT_LEAST32_FMTx__;"x";__UINT_LEAST32_FMTX__;"X";__INT_LEAST64_TYPE__;long int;__INT_LEAST64_MAX__;9223372036854775807L;__INT_LEAST64_FMTd__;"ld";__INT_LEAST64_FMTi__;"li";__UINT_LEAST64_TYPE__;long unsigned int;__UINT_LEAST64_MAX__;18446744073709551615UL;__UINT_LEAST64_FMTo__;"lo";__UINT_LEAST64_FMTu__;"lu";__UINT_LEAST64_FMTx__;"lx";__UINT_LEAST64_FMTX__;"lX";__INT_FAST8_TYPE__;signed char;__INT_FAST8_MAX__;127;__INT_FAST8_FMTd__;"hhd";__INT_FAST8_FMTi__;"hhi";__UINT_FAST8_TYPE__;unsigned char;__UINT_FAST8_MAX__;255;__UINT_FAST8_FMTo__;"hho";__UINT_FAST8_FMTu__;"hhu";__UINT_FAST8_FMTx__;"hhx";__UINT_FAST8_FMTX__;"hhX";__INT_FAST16_TYPE__;short;__INT_FAST16_MAX__;32767;__INT_FAST16_FMTd__;"hd";__INT_FAST16_FMTi__;"hi";__UINT_FAST16_TYPE__;unsigned short;__UINT_FAST16_MAX__;65535;__UINT_FAST16_FMTo__;"ho";__UINT_FAST16_FMTu__;"hu";__UINT_FAST16_FMTx__;"hx";__UINT_FAST16_FMTX__;"hX";__INT_FAST32_TYPE__;int;__INT_FAST32_MAX__;2147483647;__INT_FAST32_FMTd__;"d";__INT_FAST32_FMTi__;"i";__UINT_FAST32_TYPE__;unsigned int;__UINT_FAST32_MAX__;4294967295U;__UINT_FAST32_FMTo__;"o";__UINT_FAST32_FMTu__;"u";__UINT_FAST32_FMTx__;"x";__UINT_FAST32_FMTX__;"X";__INT_FAST64_TYPE__;long int;__INT_FAST64_MAX__;9223372036854775807L;__INT_FAST64_FMTd__;"ld";__INT_FAST64_FMTi__;"li";__UINT_FAST64_TYPE__;long unsigned int;__UINT_FAST64_MAX__;18446744073709551615UL;__UINT_FAST64_FMTo__;"lo";__UINT_FAST64_FMTu__;"lu";__UINT_FAST64_FMTx__;"lx";__UINT_FAST64_FMTX__;"lX";__USER_LABEL_PREFIX__;_;__FINITE_MATH_ONLY__; ;__GNUC_STDC_INLINE__;1;__GCC_ATOMIC_TEST_AND_SET_TRUEVAL;1;__GCC_ATOMIC_BOOL_LOCK_FREE;2;__GCC_ATOMIC_CHAR_LOCK_FREE;2;__GCC_ATOMIC_CHAR16_T_LOCK_FREE;2;__GCC_ATOMIC_CHAR32_T_LOCK_FREE;2;__GCC_ATOMIC_WCHAR_T_LOCK_FREE;2;__GCC_ATOMIC_SHORT_LOCK_FREE;2;__GCC_ATOMIC_INT_LOCK_FREE;2;__GCC_ATOMIC_LONG_LOCK_FREE;2;__GCC_ATOMIC_LLONG_LOCK_FREE;2;__GCC_ATOMIC_POINTER_LOCK_FREE;2;__NO_INLINE__;1;__PIC__;2;__pic__;2;__FLT_EVAL_METHOD__; ;__FLT_RADIX__;2;__DECIMAL_DIG__;__LDBL_DECIMAL_DIG__;__SSP__;1;__nonnull;_Nonnull;__null_unspecified;_Null_unspecified;__nullable;_Nullable;__amd64__;1;__amd64;1;__x86_64;1;__x86_64__;1;__core2;1;__core2__;1;__tune_core2__;1;__REGISTER_PREFIX__; ;__NO_MATH_INLINES;1;__FXSR__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16;1;__SSE4_1__;1;__SSSE3__;1;__SSE3__;1;__SSE2__;1;__SSE2_MATH__;1;__SSE__;1;__SSE_MATH__;1;__MMX__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8;1;__APPLE_CC__;6000;__APPLE__;1;OBJC_NEW_PROPERTIES;1;__apple_build_version__;8000042;__weak;__attribute__((objc_gc(weak)));__strong; ;__unsafe_unretained; ;__DYNAMIC__;1;__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__;101300;__MACH__;1;__STDC__;1;__STDC_HOSTED__;1;__STDC_VERSION__;201112L;__STDC_UTF_16__;1;__STDC_UTF_32__;1
 //C compiler system include directories
-CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS:INTERNAL=/usr/local/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include;/usr/include;/System/Library/Frameworks;/Library/Frameworks
+CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS:INTERNAL=/usr/local/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include;/System/Library/Frameworks;/Library/Frameworks
 //Name of generator.
 CMAKE_GENERATOR:INTERNAL=Unix Makefiles
 //Name of generator platform.
@@ -286,7 +286,7 @@ CMAKE_GENERATOR_PLATFORM:INTERNAL=
 CMAKE_GENERATOR_TOOLSET:INTERNAL=
 //Source directory with the top level CMakeLists.txt file for this
 // project
-CMAKE_HOME_DIRECTORY:INTERNAL=/Users/benbergkamp/Desktop/398/eecs398-search
+CMAKE_HOME_DIRECTORY:INTERNAL=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search
 //ADVANCED property for variable: CMAKE_INSTALL_NAME_TOOL
 CMAKE_INSTALL_NAME_TOOL-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_LINKER
@@ -348,7 +348,7 @@ CMAKE_UNAME:INTERNAL=/usr/bin/uname
 //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
 CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
 //Details about finding OpenSSL
-FIND_PACKAGE_MESSAGE_DETAILS_OpenSSL:INTERNAL=[/usr/local/lib/libcrypto.a][/usr/local/include][v1.1.0g()]
+FIND_PACKAGE_MESSAGE_DETAILS_OpenSSL:INTERNAL=[/usr/lib/libcrypto.dylib][/usr/local/include][v1.0.2m()]
 //ADVANCED property for variable: OPENSSL_CRYPTO_LIBRARY
 OPENSSL_CRYPTO_LIBRARY-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: OPENSSL_INCLUDE_DIR
@@ -379,5 +379,9 @@ _OPENSSL_STATIC_LIBS_L:INTERNAL=
 _OPENSSL_STATIC_LIBS_OTHER:INTERNAL=
 _OPENSSL_STATIC_LIBS_PATHS:INTERNAL=
 _OPENSSL_VERSION:INTERNAL=
+_OPENSSL_openssl_INCLUDEDIR:INTERNAL=
+_OPENSSL_openssl_LIBDIR:INTERNAL=
+_OPENSSL_openssl_PREFIX:INTERNAL=
+_OPENSSL_openssl_VERSION:INTERNAL=
 __pkg_config_checked__OPENSSL:INTERNAL=1
 
diff --git a/cmake-build-debug/CMakeFiles/3.9.6/CMakeCCompiler.cmake b/cmake-build-debug/CMakeFiles/3.9.6/CMakeCCompiler.cmake
index 99532d0498ecfda3d6f9730d5f0a8fc3d247874f..2edee9be1df65eb1d96077d800cb57361c5ee0b6 100644
--- a/cmake-build-debug/CMakeFiles/3.9.6/CMakeCCompiler.cmake
+++ b/cmake-build-debug/CMakeFiles/3.9.6/CMakeCCompiler.cmake
@@ -67,5 +67,5 @@ endif()
 
 
 set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "")
-set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib;/usr/local/lib")
-set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "/Library/Frameworks;/System/Library/Frameworks")
+set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib")
+set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks")
diff --git a/cmake-build-debug/CMakeFiles/3.9.6/CMakeCXXCompiler.cmake b/cmake-build-debug/CMakeFiles/3.9.6/CMakeCXXCompiler.cmake
index 2616306b42826178d9f77f20e9ce7362b3598fc2..4c0eb2d117fe792d41fe590ddfa0740ddddb5c8e 100644
--- a/cmake-build-debug/CMakeFiles/3.9.6/CMakeCXXCompiler.cmake
+++ b/cmake-build-debug/CMakeFiles/3.9.6/CMakeCXXCompiler.cmake
@@ -69,5 +69,5 @@ endif()
 
 
 set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++")
-set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib;/usr/local/lib")
-set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "/Library/Frameworks;/System/Library/Frameworks")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks")
diff --git a/cmake-build-debug/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_C.bin b/cmake-build-debug/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_C.bin
index 2d55f2c5c862518dba4e36925f5463d8903b5a78..4c9f27c76177563d91beef9a00145a67ed843bf6 100755
Binary files a/cmake-build-debug/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_C.bin and b/cmake-build-debug/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_C.bin differ
diff --git a/cmake-build-debug/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_CXX.bin b/cmake-build-debug/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_CXX.bin
index 3dcc5faf5a4a49f8d70ab39b713da1894a99f2f1..b593486912da1820285a4c77cb151c16a9b4932e 100755
Binary files a/cmake-build-debug/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_CXX.bin and b/cmake-build-debug/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_CXX.bin differ
diff --git a/cmake-build-debug/CMakeFiles/3.9.6/CMakeSystem.cmake b/cmake-build-debug/CMakeFiles/3.9.6/CMakeSystem.cmake
index 7a89fd5542140663906e15d80e86e3fff333bf9e..4529152ff8e3186cc0acab2732b9b0bfc08ba10a 100644
--- a/cmake-build-debug/CMakeFiles/3.9.6/CMakeSystem.cmake
+++ b/cmake-build-debug/CMakeFiles/3.9.6/CMakeSystem.cmake
@@ -1,13 +1,13 @@
-set(CMAKE_HOST_SYSTEM "Darwin-16.7.0")
+set(CMAKE_HOST_SYSTEM "Darwin-17.4.0")
 set(CMAKE_HOST_SYSTEM_NAME "Darwin")
-set(CMAKE_HOST_SYSTEM_VERSION "16.7.0")
+set(CMAKE_HOST_SYSTEM_VERSION "17.4.0")
 set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
 
 
 
-set(CMAKE_SYSTEM "Darwin-16.7.0")
+set(CMAKE_SYSTEM "Darwin-17.4.0")
 set(CMAKE_SYSTEM_NAME "Darwin")
-set(CMAKE_SYSTEM_VERSION "16.7.0")
+set(CMAKE_SYSTEM_VERSION "17.4.0")
 set(CMAKE_SYSTEM_PROCESSOR "x86_64")
 
 set(CMAKE_CROSSCOMPILING "FALSE")
diff --git a/cmake-build-debug/CMakeFiles/3.9.6/CompilerIdC/a.out b/cmake-build-debug/CMakeFiles/3.9.6/CompilerIdC/a.out
index aa5349a471178f0380a7e96e846e80ed80ba308c..b58b3906531dbae51db89c91c9b25ee7e90cee84 100755
Binary files a/cmake-build-debug/CMakeFiles/3.9.6/CompilerIdC/a.out and b/cmake-build-debug/CMakeFiles/3.9.6/CompilerIdC/a.out differ
diff --git a/cmake-build-debug/CMakeFiles/3.9.6/CompilerIdCXX/a.out b/cmake-build-debug/CMakeFiles/3.9.6/CompilerIdCXX/a.out
index 01ff7f710e6351d6f0978fb4766063c0d719991e..d710d8b305d2e8297852971fd620ee5135a710eb 100755
Binary files a/cmake-build-debug/CMakeFiles/3.9.6/CompilerIdCXX/a.out and b/cmake-build-debug/CMakeFiles/3.9.6/CompilerIdCXX/a.out differ
diff --git a/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake b/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake
index b948bf5b60abbe623720839d576c5f7a552e98dd..15f4e02e05a36dba7f83df74fabc425158e8d334 100644
--- a/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake
+++ b/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -2,8 +2,8 @@
 # Generated by "Unix Makefiles" Generator, CMake Version 3.9
 
 # Relative path conversion top directories.
-set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/Users/benbergkamp/Desktop/398/eecs398-search")
-set(CMAKE_RELATIVE_PATH_TOP_BINARY "/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug")
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug")
 
 # Force unix paths in dependencies.
 set(CMAKE_FORCE_UNIX_PATHS 1)
diff --git a/cmake-build-debug/CMakeFiles/CMakeOutput.log b/cmake-build-debug/CMakeFiles/CMakeOutput.log
index d81e16bcf35e97fb6f47dda54a18f289b52e4034..c7415a4c0c6978007814d1d09a38f85eaa4bf69d 100644
--- a/cmake-build-debug/CMakeFiles/CMakeOutput.log
+++ b/cmake-build-debug/CMakeFiles/CMakeOutput.log
@@ -1,4 +1,4 @@
-The system is: Darwin - 16.7.0 - x86_64
+The system is: Darwin - 17.4.0 - x86_64
 Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
 Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc 
 Build flags: 
@@ -10,7 +10,7 @@ The output was:
 
 Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
 
-The C compiler identification is AppleClang, found in "/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/3.9.6/CompilerIdC/a.out"
+The C compiler identification is AppleClang, found in "/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/3.9.6/CompilerIdC/a.out"
 
 Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
 Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ 
@@ -23,61 +23,97 @@ The output was:
 
 Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
 
-The CXX compiler identification is AppleClang, found in "/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/3.9.6/CompilerIdCXX/a.out"
+The CXX compiler identification is AppleClang, found in "/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/3.9.6/CompilerIdCXX/a.out"
 
 Determining if the C compiler works passed with the following output:
-Change Dir: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
-
-Run Build Command:"/usr/bin/make" "cmTC_d1044/fast"
-/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_d1044.dir/build.make CMakeFiles/cmTC_d1044.dir/build
-Building C object CMakeFiles/cmTC_d1044.dir/testCCompiler.c.o
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc    -o CMakeFiles/cmTC_d1044.dir/testCCompiler.c.o   -c /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp/testCCompiler.c
-Linking C executable cmTC_d1044
-/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d1044.dir/link.txt --verbose=1
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_d1044.dir/testCCompiler.c.o  -o cmTC_d1044 
+Change Dir: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
+
+<<<<<<< Updated upstream
+Run Build Command:"/usr/bin/make" "cmTC_77a39/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_77a39.dir/build.make CMakeFiles/cmTC_77a39.dir/build
+Building C object CMakeFiles/cmTC_77a39.dir/testCCompiler.c.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -o CMakeFiles/cmTC_77a39.dir/testCCompiler.c.o   -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp/testCCompiler.c
+Linking C executable cmTC_77a39
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_77a39.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_77a39.dir/testCCompiler.c.o  -o cmTC_77a39 
+=======
+Run Build Command:"/usr/bin/make" "cmTC_7ca95/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_7ca95.dir/build.make CMakeFiles/cmTC_7ca95.dir/build
+Building C object CMakeFiles/cmTC_7ca95.dir/testCCompiler.c.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -o CMakeFiles/cmTC_7ca95.dir/testCCompiler.c.o   -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp/testCCompiler.c
+Linking C executable cmTC_7ca95
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7ca95.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_7ca95.dir/testCCompiler.c.o  -o cmTC_7ca95 
+>>>>>>> Stashed changes
 
 
 Detecting C compiler ABI info compiled with the following output:
-Change Dir: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
-
-Run Build Command:"/usr/bin/make" "cmTC_e7c63/fast"
-/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_e7c63.dir/build.make CMakeFiles/cmTC_e7c63.dir/build
-Building C object CMakeFiles/cmTC_e7c63.dir/CMakeCCompilerABI.c.o
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc    -o CMakeFiles/cmTC_e7c63.dir/CMakeCCompilerABI.c.o   -c /Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCCompilerABI.c
-Linking C executable cmTC_e7c63
-/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e7c63.dir/link.txt --verbose=1
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -v -Wl,-v CMakeFiles/cmTC_e7c63.dir/CMakeCCompilerABI.c.o  -o cmTC_e7c63 
+Change Dir: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
+
+<<<<<<< Updated upstream
+Run Build Command:"/usr/bin/make" "cmTC_68c88/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_68c88.dir/build.make CMakeFiles/cmTC_68c88.dir/build
+Building C object CMakeFiles/cmTC_68c88.dir/CMakeCCompilerABI.c.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -o CMakeFiles/cmTC_68c88.dir/CMakeCCompilerABI.c.o   -c /Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCCompilerABI.c
+Linking C executable cmTC_68c88
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_68c88.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -v -Wl,-v CMakeFiles/cmTC_68c88.dir/CMakeCCompilerABI.c.o  -o cmTC_68c88 
+=======
+Run Build Command:"/usr/bin/make" "cmTC_b9e02/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_b9e02.dir/build.make CMakeFiles/cmTC_b9e02.dir/build
+Building C object CMakeFiles/cmTC_b9e02.dir/CMakeCCompilerABI.c.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -o CMakeFiles/cmTC_b9e02.dir/CMakeCCompilerABI.c.o   -c /Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCCompilerABI.c
+Linking C executable cmTC_b9e02
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b9e02.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -v -Wl,-v CMakeFiles/cmTC_b9e02.dir/CMakeCCompilerABI.c.o  -o cmTC_b9e02 
+>>>>>>> Stashed changes
 Apple LLVM version 8.0.0 (clang-800.0.42.1)
-Target: x86_64-apple-darwin16.7.0
+Target: x86_64-apple-darwin17.4.0
 Thread model: posix
 InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
- "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -o cmTC_e7c63 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_e7c63.dir/CMakeCCompilerABI.c.o -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a
-@(#)PROGRAM:ld  PROJECT:ld64-274.2
+<<<<<<< Updated upstream
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -o cmTC_68c88 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_68c88.dir/CMakeCCompilerABI.c.o -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a
+=======
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -o cmTC_b9e02 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_b9e02.dir/CMakeCCompilerABI.c.o -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a
+>>>>>>> Stashed changes
+@(#)PROGRAM:ld  PROJECT:ld64-274.1
 configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em (tvOS)
 Library search paths:
-	/usr/lib
-	/usr/local/lib
+	/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib
 Framework search paths:
-	/Library/Frameworks/
-	/System/Library/Frameworks/
+	/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/
 
 
 Parsed C implicit link information from above output:
   link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
-  ignore line: [Change Dir: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp]
+  ignore line: [Change Dir: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp]
   ignore line: []
-  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_e7c63/fast"]
-  ignore line: [/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_e7c63.dir/build.make CMakeFiles/cmTC_e7c63.dir/build]
-  ignore line: [Building C object CMakeFiles/cmTC_e7c63.dir/CMakeCCompilerABI.c.o]
-  ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc    -o CMakeFiles/cmTC_e7c63.dir/CMakeCCompilerABI.c.o   -c /Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCCompilerABI.c]
-  ignore line: [Linking C executable cmTC_e7c63]
-  ignore line: [/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e7c63.dir/link.txt --verbose=1]
-  ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -v -Wl,-v CMakeFiles/cmTC_e7c63.dir/CMakeCCompilerABI.c.o  -o cmTC_e7c63 ]
+<<<<<<< Updated upstream
+  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_68c88/fast"]
+  ignore line: [/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_68c88.dir/build.make CMakeFiles/cmTC_68c88.dir/build]
+  ignore line: [Building C object CMakeFiles/cmTC_68c88.dir/CMakeCCompilerABI.c.o]
+  ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -o CMakeFiles/cmTC_68c88.dir/CMakeCCompilerABI.c.o   -c /Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCCompilerABI.c]
+  ignore line: [Linking C executable cmTC_68c88]
+  ignore line: [/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_68c88.dir/link.txt --verbose=1]
+  ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -v -Wl,-v CMakeFiles/cmTC_68c88.dir/CMakeCCompilerABI.c.o  -o cmTC_68c88 ]
+=======
+  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_b9e02/fast"]
+  ignore line: [/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_b9e02.dir/build.make CMakeFiles/cmTC_b9e02.dir/build]
+  ignore line: [Building C object CMakeFiles/cmTC_b9e02.dir/CMakeCCompilerABI.c.o]
+  ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -o CMakeFiles/cmTC_b9e02.dir/CMakeCCompilerABI.c.o   -c /Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCCompilerABI.c]
+  ignore line: [Linking C executable cmTC_b9e02]
+  ignore line: [/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b9e02.dir/link.txt --verbose=1]
+  ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -v -Wl,-v CMakeFiles/cmTC_b9e02.dir/CMakeCCompilerABI.c.o  -o cmTC_b9e02 ]
+>>>>>>> Stashed changes
   ignore line: [Apple LLVM version 8.0.0 (clang-800.0.42.1)]
-  ignore line: [Target: x86_64-apple-darwin16.7.0]
+  ignore line: [Target: x86_64-apple-darwin17.4.0]
   ignore line: [Thread model: posix]
   ignore line: [InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin]
-  link line: [ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -o cmTC_e7c63 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_e7c63.dir/CMakeCCompilerABI.c.o -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a]
+<<<<<<< Updated upstream
+  link line: [ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -o cmTC_68c88 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_68c88.dir/CMakeCCompilerABI.c.o -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a]
+=======
+  link line: [ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -o cmTC_b9e02 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_b9e02.dir/CMakeCCompilerABI.c.o -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a]
+>>>>>>> Stashed changes
     arg [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld] ==> ignore
     arg [-demangle] ==> ignore
     arg [-dynamic] ==> ignore
@@ -85,39 +121,57 @@ Parsed C implicit link information from above output:
     arg [x86_64] ==> ignore
     arg [-macosx_version_min] ==> ignore
     arg [10.12.0] ==> ignore
+    arg [-syslibroot] ==> ignore
+    arg [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk] ==> ignore
     arg [-o] ==> ignore
-    arg [cmTC_e7c63] ==> ignore
+<<<<<<< Updated upstream
+    arg [cmTC_68c88] ==> ignore
+    arg [-search_paths_first] ==> ignore
+    arg [-headerpad_max_install_names] ==> ignore
+    arg [-v] ==> ignore
+    arg [CMakeFiles/cmTC_68c88.dir/CMakeCCompilerABI.c.o] ==> ignore
+=======
+    arg [cmTC_b9e02] ==> ignore
     arg [-search_paths_first] ==> ignore
     arg [-headerpad_max_install_names] ==> ignore
     arg [-v] ==> ignore
-    arg [CMakeFiles/cmTC_e7c63.dir/CMakeCCompilerABI.c.o] ==> ignore
+    arg [CMakeFiles/cmTC_b9e02.dir/CMakeCCompilerABI.c.o] ==> ignore
+>>>>>>> Stashed changes
     arg [-lSystem] ==> lib [System]
     arg [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a] ==> lib [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a]
-  Library search paths: [;/usr/lib;/usr/local/lib]
-  Framework search paths: [;/Library/Frameworks/;/System/Library/Frameworks/]
+  Library search paths: [;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib]
+  Framework search paths: [;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/]
   remove lib [System]
   remove lib [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a]
-  collapse library dir [/usr/lib] ==> [/usr/lib]
-  collapse library dir [/usr/local/lib] ==> [/usr/local/lib]
-  collapse framework dir [/Library/Frameworks/] ==> [/Library/Frameworks]
-  collapse framework dir [/System/Library/Frameworks/] ==> [/System/Library/Frameworks]
+  collapse library dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib]
+  collapse framework dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks]
   implicit libs: []
-  implicit dirs: [/usr/lib;/usr/local/lib]
-  implicit fwks: [/Library/Frameworks;/System/Library/Frameworks]
+  implicit dirs: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib]
+  implicit fwks: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks]
 
 
 
 
 Detecting C [-std=c11] compiler features compiled with the following output:
-Change Dir: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
-
-Run Build Command:"/usr/bin/make" "cmTC_cdff5/fast"
-/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_cdff5.dir/build.make CMakeFiles/cmTC_cdff5.dir/build
-Building C object CMakeFiles/cmTC_cdff5.dir/feature_tests.c.o
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -std=c11 -o CMakeFiles/cmTC_cdff5.dir/feature_tests.c.o   -c /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.c
-Linking C executable cmTC_cdff5
-/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_cdff5.dir/link.txt --verbose=1
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_cdff5.dir/feature_tests.c.o  -o cmTC_cdff5 
+Change Dir: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
+
+<<<<<<< Updated upstream
+Run Build Command:"/usr/bin/make" "cmTC_7fcda/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_7fcda.dir/build.make CMakeFiles/cmTC_7fcda.dir/build
+Building C object CMakeFiles/cmTC_7fcda.dir/feature_tests.c.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c11 -o CMakeFiles/cmTC_7fcda.dir/feature_tests.c.o   -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.c
+Linking C executable cmTC_7fcda
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7fcda.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_7fcda.dir/feature_tests.c.o  -o cmTC_7fcda 
+=======
+Run Build Command:"/usr/bin/make" "cmTC_79cbf/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_79cbf.dir/build.make CMakeFiles/cmTC_79cbf.dir/build
+Building C object CMakeFiles/cmTC_79cbf.dir/feature_tests.c.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c11 -o CMakeFiles/cmTC_79cbf.dir/feature_tests.c.o   -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.c
+Linking C executable cmTC_79cbf
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_79cbf.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_79cbf.dir/feature_tests.c.o  -o cmTC_79cbf 
+>>>>>>> Stashed changes
 
 
     Feature record: C_FEATURE:1c_function_prototypes
@@ -127,15 +181,25 @@ Linking C executable cmTC_cdff5
 
 
 Detecting C [-std=c99] compiler features compiled with the following output:
-Change Dir: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
-
-Run Build Command:"/usr/bin/make" "cmTC_8c601/fast"
-/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_8c601.dir/build.make CMakeFiles/cmTC_8c601.dir/build
-Building C object CMakeFiles/cmTC_8c601.dir/feature_tests.c.o
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -std=c99 -o CMakeFiles/cmTC_8c601.dir/feature_tests.c.o   -c /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.c
-Linking C executable cmTC_8c601
-/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8c601.dir/link.txt --verbose=1
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_8c601.dir/feature_tests.c.o  -o cmTC_8c601 
+Change Dir: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
+
+<<<<<<< Updated upstream
+Run Build Command:"/usr/bin/make" "cmTC_0a2da/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_0a2da.dir/build.make CMakeFiles/cmTC_0a2da.dir/build
+Building C object CMakeFiles/cmTC_0a2da.dir/feature_tests.c.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c99 -o CMakeFiles/cmTC_0a2da.dir/feature_tests.c.o   -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.c
+Linking C executable cmTC_0a2da
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0a2da.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_0a2da.dir/feature_tests.c.o  -o cmTC_0a2da 
+=======
+Run Build Command:"/usr/bin/make" "cmTC_0aafb/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_0aafb.dir/build.make CMakeFiles/cmTC_0aafb.dir/build
+Building C object CMakeFiles/cmTC_0aafb.dir/feature_tests.c.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c99 -o CMakeFiles/cmTC_0aafb.dir/feature_tests.c.o   -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.c
+Linking C executable cmTC_0aafb
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0aafb.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_0aafb.dir/feature_tests.c.o  -o cmTC_0aafb 
+>>>>>>> Stashed changes
 
 
     Feature record: C_FEATURE:1c_function_prototypes
@@ -145,15 +209,25 @@ Linking C executable cmTC_8c601
 
 
 Detecting C [-std=c90] compiler features compiled with the following output:
-Change Dir: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
-
-Run Build Command:"/usr/bin/make" "cmTC_8784a/fast"
-/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_8784a.dir/build.make CMakeFiles/cmTC_8784a.dir/build
-Building C object CMakeFiles/cmTC_8784a.dir/feature_tests.c.o
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -std=c90 -o CMakeFiles/cmTC_8784a.dir/feature_tests.c.o   -c /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.c
-Linking C executable cmTC_8784a
-/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8784a.dir/link.txt --verbose=1
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_8784a.dir/feature_tests.c.o  -o cmTC_8784a 
+Change Dir: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
+
+<<<<<<< Updated upstream
+Run Build Command:"/usr/bin/make" "cmTC_c7fe1/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_c7fe1.dir/build.make CMakeFiles/cmTC_c7fe1.dir/build
+Building C object CMakeFiles/cmTC_c7fe1.dir/feature_tests.c.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c90 -o CMakeFiles/cmTC_c7fe1.dir/feature_tests.c.o   -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.c
+Linking C executable cmTC_c7fe1
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c7fe1.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_c7fe1.dir/feature_tests.c.o  -o cmTC_c7fe1 
+=======
+Run Build Command:"/usr/bin/make" "cmTC_e585f/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_e585f.dir/build.make CMakeFiles/cmTC_e585f.dir/build
+Building C object CMakeFiles/cmTC_e585f.dir/feature_tests.c.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c90 -o CMakeFiles/cmTC_e585f.dir/feature_tests.c.o   -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.c
+Linking C executable cmTC_e585f
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e585f.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_e585f.dir/feature_tests.c.o  -o cmTC_e585f 
+>>>>>>> Stashed changes
 
 
     Feature record: C_FEATURE:1c_function_prototypes
@@ -161,58 +235,94 @@ Linking C executable cmTC_8784a
     Feature record: C_FEATURE:0c_static_assert
     Feature record: C_FEATURE:0c_variadic_macros
 Determining if the CXX compiler works passed with the following output:
-Change Dir: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
-
-Run Build Command:"/usr/bin/make" "cmTC_73f96/fast"
-/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_73f96.dir/build.make CMakeFiles/cmTC_73f96.dir/build
-Building CXX object CMakeFiles/cmTC_73f96.dir/testCXXCompiler.cxx.o
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++     -o CMakeFiles/cmTC_73f96.dir/testCXXCompiler.cxx.o -c /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
-Linking CXX executable cmTC_73f96
-/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_73f96.dir/link.txt --verbose=1
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_73f96.dir/testCXXCompiler.cxx.o  -o cmTC_73f96 
+Change Dir: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
+
+<<<<<<< Updated upstream
+Run Build Command:"/usr/bin/make" "cmTC_3d2c3/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_3d2c3.dir/build.make CMakeFiles/cmTC_3d2c3.dir/build
+Building CXX object CMakeFiles/cmTC_3d2c3.dir/testCXXCompiler.cxx.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -o CMakeFiles/cmTC_3d2c3.dir/testCXXCompiler.cxx.o -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
+Linking CXX executable cmTC_3d2c3
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3d2c3.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_3d2c3.dir/testCXXCompiler.cxx.o  -o cmTC_3d2c3 
+=======
+Run Build Command:"/usr/bin/make" "cmTC_935cd/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_935cd.dir/build.make CMakeFiles/cmTC_935cd.dir/build
+Building CXX object CMakeFiles/cmTC_935cd.dir/testCXXCompiler.cxx.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -o CMakeFiles/cmTC_935cd.dir/testCXXCompiler.cxx.o -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
+Linking CXX executable cmTC_935cd
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_935cd.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_935cd.dir/testCXXCompiler.cxx.o  -o cmTC_935cd 
+>>>>>>> Stashed changes
 
 
 Detecting CXX compiler ABI info compiled with the following output:
-Change Dir: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
-
-Run Build Command:"/usr/bin/make" "cmTC_c1fa7/fast"
-/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_c1fa7.dir/build.make CMakeFiles/cmTC_c1fa7.dir/build
-Building CXX object CMakeFiles/cmTC_c1fa7.dir/CMakeCXXCompilerABI.cpp.o
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++     -o CMakeFiles/cmTC_c1fa7.dir/CMakeCXXCompilerABI.cpp.o -c /Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCXXCompilerABI.cpp
-Linking CXX executable cmTC_c1fa7
-/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c1fa7.dir/link.txt --verbose=1
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -v -Wl,-v CMakeFiles/cmTC_c1fa7.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_c1fa7 
+Change Dir: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
+
+<<<<<<< Updated upstream
+Run Build Command:"/usr/bin/make" "cmTC_fbfb6/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_fbfb6.dir/build.make CMakeFiles/cmTC_fbfb6.dir/build
+Building CXX object CMakeFiles/cmTC_fbfb6.dir/CMakeCXXCompilerABI.cpp.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -o CMakeFiles/cmTC_fbfb6.dir/CMakeCXXCompilerABI.cpp.o -c /Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCXXCompilerABI.cpp
+Linking CXX executable cmTC_fbfb6
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fbfb6.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -v -Wl,-v CMakeFiles/cmTC_fbfb6.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_fbfb6 
+=======
+Run Build Command:"/usr/bin/make" "cmTC_2675f/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_2675f.dir/build.make CMakeFiles/cmTC_2675f.dir/build
+Building CXX object CMakeFiles/cmTC_2675f.dir/CMakeCXXCompilerABI.cpp.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -o CMakeFiles/cmTC_2675f.dir/CMakeCXXCompilerABI.cpp.o -c /Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCXXCompilerABI.cpp
+Linking CXX executable cmTC_2675f
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2675f.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -v -Wl,-v CMakeFiles/cmTC_2675f.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_2675f 
+>>>>>>> Stashed changes
 Apple LLVM version 8.0.0 (clang-800.0.42.1)
-Target: x86_64-apple-darwin16.7.0
+Target: x86_64-apple-darwin17.4.0
 Thread model: posix
 InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
- "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -o cmTC_c1fa7 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_c1fa7.dir/CMakeCXXCompilerABI.cpp.o -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a
-@(#)PROGRAM:ld  PROJECT:ld64-274.2
+<<<<<<< Updated upstream
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -o cmTC_fbfb6 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_fbfb6.dir/CMakeCXXCompilerABI.cpp.o -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a
+=======
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -o cmTC_2675f -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_2675f.dir/CMakeCXXCompilerABI.cpp.o -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a
+>>>>>>> Stashed changes
+@(#)PROGRAM:ld  PROJECT:ld64-274.1
 configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em (tvOS)
 Library search paths:
-	/usr/lib
-	/usr/local/lib
+	/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib
 Framework search paths:
-	/Library/Frameworks/
-	/System/Library/Frameworks/
+	/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/
 
 
 Parsed CXX implicit link information from above output:
   link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
-  ignore line: [Change Dir: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp]
+  ignore line: [Change Dir: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp]
   ignore line: []
-  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_c1fa7/fast"]
-  ignore line: [/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_c1fa7.dir/build.make CMakeFiles/cmTC_c1fa7.dir/build]
-  ignore line: [Building CXX object CMakeFiles/cmTC_c1fa7.dir/CMakeCXXCompilerABI.cpp.o]
-  ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++     -o CMakeFiles/cmTC_c1fa7.dir/CMakeCXXCompilerABI.cpp.o -c /Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCXXCompilerABI.cpp]
-  ignore line: [Linking CXX executable cmTC_c1fa7]
-  ignore line: [/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c1fa7.dir/link.txt --verbose=1]
-  ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -v -Wl,-v CMakeFiles/cmTC_c1fa7.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_c1fa7 ]
+<<<<<<< Updated upstream
+  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_fbfb6/fast"]
+  ignore line: [/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_fbfb6.dir/build.make CMakeFiles/cmTC_fbfb6.dir/build]
+  ignore line: [Building CXX object CMakeFiles/cmTC_fbfb6.dir/CMakeCXXCompilerABI.cpp.o]
+  ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -o CMakeFiles/cmTC_fbfb6.dir/CMakeCXXCompilerABI.cpp.o -c /Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCXXCompilerABI.cpp]
+  ignore line: [Linking CXX executable cmTC_fbfb6]
+  ignore line: [/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fbfb6.dir/link.txt --verbose=1]
+  ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -v -Wl,-v CMakeFiles/cmTC_fbfb6.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_fbfb6 ]
+=======
+  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_2675f/fast"]
+  ignore line: [/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_2675f.dir/build.make CMakeFiles/cmTC_2675f.dir/build]
+  ignore line: [Building CXX object CMakeFiles/cmTC_2675f.dir/CMakeCXXCompilerABI.cpp.o]
+  ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -o CMakeFiles/cmTC_2675f.dir/CMakeCXXCompilerABI.cpp.o -c /Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCXXCompilerABI.cpp]
+  ignore line: [Linking CXX executable cmTC_2675f]
+  ignore line: [/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2675f.dir/link.txt --verbose=1]
+  ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -v -Wl,-v CMakeFiles/cmTC_2675f.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_2675f ]
+>>>>>>> Stashed changes
   ignore line: [Apple LLVM version 8.0.0 (clang-800.0.42.1)]
-  ignore line: [Target: x86_64-apple-darwin16.7.0]
+  ignore line: [Target: x86_64-apple-darwin17.4.0]
   ignore line: [Thread model: posix]
   ignore line: [InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin]
-  link line: [ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -o cmTC_c1fa7 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_c1fa7.dir/CMakeCXXCompilerABI.cpp.o -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a]
+<<<<<<< Updated upstream
+  link line: [ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -o cmTC_fbfb6 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_fbfb6.dir/CMakeCXXCompilerABI.cpp.o -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a]
+=======
+  link line: [ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -o cmTC_2675f -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_2675f.dir/CMakeCXXCompilerABI.cpp.o -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a]
+>>>>>>> Stashed changes
     arg [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld] ==> ignore
     arg [-demangle] ==> ignore
     arg [-dynamic] ==> ignore
@@ -220,40 +330,58 @@ Parsed CXX implicit link information from above output:
     arg [x86_64] ==> ignore
     arg [-macosx_version_min] ==> ignore
     arg [10.12.0] ==> ignore
+    arg [-syslibroot] ==> ignore
+    arg [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk] ==> ignore
     arg [-o] ==> ignore
-    arg [cmTC_c1fa7] ==> ignore
+<<<<<<< Updated upstream
+    arg [cmTC_fbfb6] ==> ignore
+    arg [-search_paths_first] ==> ignore
+    arg [-headerpad_max_install_names] ==> ignore
+    arg [-v] ==> ignore
+    arg [CMakeFiles/cmTC_fbfb6.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+=======
+    arg [cmTC_2675f] ==> ignore
     arg [-search_paths_first] ==> ignore
     arg [-headerpad_max_install_names] ==> ignore
     arg [-v] ==> ignore
-    arg [CMakeFiles/cmTC_c1fa7.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+    arg [CMakeFiles/cmTC_2675f.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+>>>>>>> Stashed changes
     arg [-lc++] ==> lib [c++]
     arg [-lSystem] ==> lib [System]
     arg [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a] ==> lib [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a]
-  Library search paths: [;/usr/lib;/usr/local/lib]
-  Framework search paths: [;/Library/Frameworks/;/System/Library/Frameworks/]
+  Library search paths: [;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib]
+  Framework search paths: [;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/]
   remove lib [System]
   remove lib [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a]
-  collapse library dir [/usr/lib] ==> [/usr/lib]
-  collapse library dir [/usr/local/lib] ==> [/usr/local/lib]
-  collapse framework dir [/Library/Frameworks/] ==> [/Library/Frameworks]
-  collapse framework dir [/System/Library/Frameworks/] ==> [/System/Library/Frameworks]
+  collapse library dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib]
+  collapse framework dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks]
   implicit libs: [c++]
-  implicit dirs: [/usr/lib;/usr/local/lib]
-  implicit fwks: [/Library/Frameworks;/System/Library/Frameworks]
+  implicit dirs: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib]
+  implicit fwks: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks]
 
 
 
 
 Detecting CXX [-std=c++1z] compiler features compiled with the following output:
-Change Dir: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
-
-Run Build Command:"/usr/bin/make" "cmTC_783cb/fast"
-/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_783cb.dir/build.make CMakeFiles/cmTC_783cb.dir/build
-Building CXX object CMakeFiles/cmTC_783cb.dir/feature_tests.cxx.o
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -std=c++1z -o CMakeFiles/cmTC_783cb.dir/feature_tests.cxx.o -c /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.cxx
-Linking CXX executable cmTC_783cb
-/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_783cb.dir/link.txt --verbose=1
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_783cb.dir/feature_tests.cxx.o  -o cmTC_783cb 
+Change Dir: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
+
+<<<<<<< Updated upstream
+Run Build Command:"/usr/bin/make" "cmTC_7396e/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_7396e.dir/build.make CMakeFiles/cmTC_7396e.dir/build
+Building CXX object CMakeFiles/cmTC_7396e.dir/feature_tests.cxx.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c++1z -o CMakeFiles/cmTC_7396e.dir/feature_tests.cxx.o -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_7396e
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7396e.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_7396e.dir/feature_tests.cxx.o  -o cmTC_7396e 
+=======
+Run Build Command:"/usr/bin/make" "cmTC_895a4/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_895a4.dir/build.make CMakeFiles/cmTC_895a4.dir/build
+Building CXX object CMakeFiles/cmTC_895a4.dir/feature_tests.cxx.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c++1z -o CMakeFiles/cmTC_895a4.dir/feature_tests.cxx.o -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_895a4
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_895a4.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_895a4.dir/feature_tests.cxx.o  -o cmTC_895a4 
+>>>>>>> Stashed changes
 
 
     Feature record: CXX_FEATURE:1cxx_aggregate_default_initializers
@@ -316,15 +444,25 @@ Linking CXX executable cmTC_783cb
 
 
 Detecting CXX [-std=c++14] compiler features compiled with the following output:
-Change Dir: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
-
-Run Build Command:"/usr/bin/make" "cmTC_5b330/fast"
-/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_5b330.dir/build.make CMakeFiles/cmTC_5b330.dir/build
-Building CXX object CMakeFiles/cmTC_5b330.dir/feature_tests.cxx.o
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -std=c++14 -o CMakeFiles/cmTC_5b330.dir/feature_tests.cxx.o -c /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.cxx
-Linking CXX executable cmTC_5b330
-/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5b330.dir/link.txt --verbose=1
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_5b330.dir/feature_tests.cxx.o  -o cmTC_5b330 
+Change Dir: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
+
+<<<<<<< Updated upstream
+Run Build Command:"/usr/bin/make" "cmTC_2f430/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_2f430.dir/build.make CMakeFiles/cmTC_2f430.dir/build
+Building CXX object CMakeFiles/cmTC_2f430.dir/feature_tests.cxx.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c++14 -o CMakeFiles/cmTC_2f430.dir/feature_tests.cxx.o -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_2f430
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2f430.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_2f430.dir/feature_tests.cxx.o  -o cmTC_2f430 
+=======
+Run Build Command:"/usr/bin/make" "cmTC_072e7/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_072e7.dir/build.make CMakeFiles/cmTC_072e7.dir/build
+Building CXX object CMakeFiles/cmTC_072e7.dir/feature_tests.cxx.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c++14 -o CMakeFiles/cmTC_072e7.dir/feature_tests.cxx.o -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_072e7
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_072e7.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_072e7.dir/feature_tests.cxx.o  -o cmTC_072e7 
+>>>>>>> Stashed changes
 
 
     Feature record: CXX_FEATURE:1cxx_aggregate_default_initializers
@@ -387,15 +525,25 @@ Linking CXX executable cmTC_5b330
 
 
 Detecting CXX [-std=c++11] compiler features compiled with the following output:
-Change Dir: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
-
-Run Build Command:"/usr/bin/make" "cmTC_6acd3/fast"
-/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_6acd3.dir/build.make CMakeFiles/cmTC_6acd3.dir/build
-Building CXX object CMakeFiles/cmTC_6acd3.dir/feature_tests.cxx.o
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -std=c++11 -o CMakeFiles/cmTC_6acd3.dir/feature_tests.cxx.o -c /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.cxx
-Linking CXX executable cmTC_6acd3
-/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6acd3.dir/link.txt --verbose=1
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_6acd3.dir/feature_tests.cxx.o  -o cmTC_6acd3 
+Change Dir: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
+
+<<<<<<< Updated upstream
+Run Build Command:"/usr/bin/make" "cmTC_13355/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_13355.dir/build.make CMakeFiles/cmTC_13355.dir/build
+Building CXX object CMakeFiles/cmTC_13355.dir/feature_tests.cxx.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c++11 -o CMakeFiles/cmTC_13355.dir/feature_tests.cxx.o -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_13355
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_13355.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_13355.dir/feature_tests.cxx.o  -o cmTC_13355 
+=======
+Run Build Command:"/usr/bin/make" "cmTC_bc75e/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_bc75e.dir/build.make CMakeFiles/cmTC_bc75e.dir/build
+Building CXX object CMakeFiles/cmTC_bc75e.dir/feature_tests.cxx.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c++11 -o CMakeFiles/cmTC_bc75e.dir/feature_tests.cxx.o -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_bc75e
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_bc75e.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_bc75e.dir/feature_tests.cxx.o  -o cmTC_bc75e 
+>>>>>>> Stashed changes
 
 
     Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers
@@ -458,15 +606,25 @@ Linking CXX executable cmTC_6acd3
 
 
 Detecting CXX [-std=c++98] compiler features compiled with the following output:
-Change Dir: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
-
-Run Build Command:"/usr/bin/make" "cmTC_633a9/fast"
-/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_633a9.dir/build.make CMakeFiles/cmTC_633a9.dir/build
-Building CXX object CMakeFiles/cmTC_633a9.dir/feature_tests.cxx.o
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -std=c++98 -o CMakeFiles/cmTC_633a9.dir/feature_tests.cxx.o -c /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.cxx
-Linking CXX executable cmTC_633a9
-/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_633a9.dir/link.txt --verbose=1
-/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_633a9.dir/feature_tests.cxx.o  -o cmTC_633a9 
+Change Dir: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/CMakeTmp
+
+<<<<<<< Updated upstream
+Run Build Command:"/usr/bin/make" "cmTC_42370/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_42370.dir/build.make CMakeFiles/cmTC_42370.dir/build
+Building CXX object CMakeFiles/cmTC_42370.dir/feature_tests.cxx.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c++98 -o CMakeFiles/cmTC_42370.dir/feature_tests.cxx.o -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_42370
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_42370.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_42370.dir/feature_tests.cxx.o  -o cmTC_42370 
+=======
+Run Build Command:"/usr/bin/make" "cmTC_c9dad/fast"
+/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_c9dad.dir/build.make CMakeFiles/cmTC_c9dad.dir/build
+Building CXX object CMakeFiles/cmTC_c9dad.dir/feature_tests.cxx.o
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk   -std=c++98 -o CMakeFiles/cmTC_c9dad.dir/feature_tests.cxx.o -c /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_c9dad
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c9dad.dir/link.txt --verbose=1
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_c9dad.dir/feature_tests.cxx.o  -o cmTC_c9dad 
+>>>>>>> Stashed changes
 
 
     Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers
diff --git a/cmake-build-debug/CMakeFiles/Makefile.cmake b/cmake-build-debug/CMakeFiles/Makefile.cmake
index 057e5ada1fcd4546a65a34ae993ffc3b8e370c63..2f8296d9ec082bf2353ca7a73e448777e30794f9 100644
--- a/cmake-build-debug/CMakeFiles/Makefile.cmake
+++ b/cmake-build-debug/CMakeFiles/Makefile.cmake
@@ -53,12 +53,11 @@ set(CMAKE_MAKEFILE_PRODUCTS
 
 # Dependency information for all targets:
 set(CMAKE_DEPEND_INFO_FILES
-  "CMakeFiles/URLTEST.dir/DependInfo.cmake"
-  "CMakeFiles/ParserEndToEndTest.dir/DependInfo.cmake"
   "CMakeFiles/StemmerTest.dir/DependInfo.cmake"
   "CMakeFiles/StringProcessingTest.dir/DependInfo.cmake"
   "CMakeFiles/TokenizerTest.dir/DependInfo.cmake"
-  "CMakeFiles/test1.dir/DependInfo.cmake"
-  "CMakeFiles/crawl.dir/DependInfo.cmake"
-  "CMakeFiles/search.dir/DependInfo.cmake"
+  "CMakeFiles/URLTEST.dir/DependInfo.cmake"
+  "CMakeFiles/ParserTest.dir/DependInfo.cmake"
+  "CMakeFiles/search-engine.dir/DependInfo.cmake"
+  "CMakeFiles/crawler-parser-test.dir/DependInfo.cmake"
   )
diff --git a/cmake-build-debug/CMakeFiles/Makefile2 b/cmake-build-debug/CMakeFiles/Makefile2
index 8946ce4166c036ae2883d75d520155f837eb0f10..def2daa5b36808e923869635e366f13c4d13e7e7 100644
--- a/cmake-build-debug/CMakeFiles/Makefile2
+++ b/cmake-build-debug/CMakeFiles/Makefile2
@@ -54,84 +54,10 @@ RM = /Applications/CLion.app/Contents/bin/cmake/bin/cmake -E remove -f
 EQUALS = =
 
 # The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /Users/benbergkamp/Desktop/398/eecs398-search
+CMAKE_SOURCE_DIR = /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search
 
 # The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug
-
-#=============================================================================
-# Target rules for target CMakeFiles/URLTEST.dir
-
-# All Build rule for target.
-CMakeFiles/URLTEST.dir/all:
-	$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/depend
-	$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=9,10 "Built target URLTEST"
-.PHONY : CMakeFiles/URLTEST.dir/all
-
-# Include target in all.
-all: CMakeFiles/URLTEST.dir/all
-
-.PHONY : all
-
-# Build rule for subdir invocation for target.
-CMakeFiles/URLTEST.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 2
-	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/URLTEST.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 0
-.PHONY : CMakeFiles/URLTEST.dir/rule
-
-# Convenience name for target.
-URLTEST: CMakeFiles/URLTEST.dir/rule
-
-.PHONY : URLTEST
-
-# clean rule for target.
-CMakeFiles/URLTEST.dir/clean:
-	$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/clean
-.PHONY : CMakeFiles/URLTEST.dir/clean
-
-# clean rule for target.
-clean: CMakeFiles/URLTEST.dir/clean
-
-.PHONY : clean
-
-#=============================================================================
-# Target rules for target CMakeFiles/ParserEndToEndTest.dir
-
-# All Build rule for target.
-CMakeFiles/ParserEndToEndTest.dir/all:
-	$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/depend
-	$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=1,2 "Built target ParserEndToEndTest"
-.PHONY : CMakeFiles/ParserEndToEndTest.dir/all
-
-# Include target in all.
-all: CMakeFiles/ParserEndToEndTest.dir/all
-
-.PHONY : all
-
-# Build rule for subdir invocation for target.
-CMakeFiles/ParserEndToEndTest.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 2
-	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ParserEndToEndTest.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 0
-.PHONY : CMakeFiles/ParserEndToEndTest.dir/rule
-
-# Convenience name for target.
-ParserEndToEndTest: CMakeFiles/ParserEndToEndTest.dir/rule
-
-.PHONY : ParserEndToEndTest
-
-# clean rule for target.
-CMakeFiles/ParserEndToEndTest.dir/clean:
-	$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/clean
-.PHONY : CMakeFiles/ParserEndToEndTest.dir/clean
-
-# clean rule for target.
-clean: CMakeFiles/ParserEndToEndTest.dir/clean
-
-.PHONY : clean
+CMAKE_BINARY_DIR = /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug
 
 #=============================================================================
 # Target rules for target CMakeFiles/StemmerTest.dir
@@ -140,7 +66,7 @@ clean: CMakeFiles/ParserEndToEndTest.dir/clean
 CMakeFiles/StemmerTest.dir/all:
 	$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/depend
 	$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=3,4 "Built target StemmerTest"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=8,9,10 "Built target StemmerTest"
 .PHONY : CMakeFiles/StemmerTest.dir/all
 
 # Include target in all.
@@ -150,9 +76,9 @@ all: CMakeFiles/StemmerTest.dir/all
 
 # Build rule for subdir invocation for target.
 CMakeFiles/StemmerTest.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 2
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 3
 	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/StemmerTest.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 0
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 0
 .PHONY : CMakeFiles/StemmerTest.dir/rule
 
 # Convenience name for target.
@@ -177,7 +103,7 @@ clean: CMakeFiles/StemmerTest.dir/clean
 CMakeFiles/StringProcessingTest.dir/all:
 	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/depend
 	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=5,6 "Built target StringProcessingTest"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=11,12,13 "Built target StringProcessingTest"
 .PHONY : CMakeFiles/StringProcessingTest.dir/all
 
 # Include target in all.
@@ -187,9 +113,9 @@ all: CMakeFiles/StringProcessingTest.dir/all
 
 # Build rule for subdir invocation for target.
 CMakeFiles/StringProcessingTest.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 2
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 3
 	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/StringProcessingTest.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 0
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 0
 .PHONY : CMakeFiles/StringProcessingTest.dir/rule
 
 # Convenience name for target.
@@ -214,7 +140,7 @@ clean: CMakeFiles/StringProcessingTest.dir/clean
 CMakeFiles/TokenizerTest.dir/all:
 	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/depend
 	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=7,8 "Built target TokenizerTest"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=14,15,16,17 "Built target TokenizerTest"
 .PHONY : CMakeFiles/TokenizerTest.dir/all
 
 # Include target in all.
@@ -224,9 +150,9 @@ all: CMakeFiles/TokenizerTest.dir/all
 
 # Build rule for subdir invocation for target.
 CMakeFiles/TokenizerTest.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 2
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 4
 	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/TokenizerTest.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 0
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 0
 .PHONY : CMakeFiles/TokenizerTest.dir/rule
 
 # Convenience name for target.
@@ -245,113 +171,150 @@ clean: CMakeFiles/TokenizerTest.dir/clean
 .PHONY : clean
 
 #=============================================================================
-# Target rules for target CMakeFiles/test1.dir
+# Target rules for target CMakeFiles/URLTEST.dir
+
+# All Build rule for target.
+CMakeFiles/URLTEST.dir/all:
+	$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/depend
+	$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=18,19 "Built target URLTEST"
+.PHONY : CMakeFiles/URLTEST.dir/all
+
+# Include target in all.
+all: CMakeFiles/URLTEST.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+CMakeFiles/URLTEST.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 2
+	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/URLTEST.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 0
+.PHONY : CMakeFiles/URLTEST.dir/rule
+
+# Convenience name for target.
+URLTEST: CMakeFiles/URLTEST.dir/rule
+
+.PHONY : URLTEST
+
+# clean rule for target.
+CMakeFiles/URLTEST.dir/clean:
+	$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/clean
+.PHONY : CMakeFiles/URLTEST.dir/clean
+
+# clean rule for target.
+clean: CMakeFiles/URLTEST.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target CMakeFiles/ParserTest.dir
 
 # All Build rule for target.
-CMakeFiles/test1.dir/all:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/depend
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=23,24,25,26,27,28 "Built target test1"
-.PHONY : CMakeFiles/test1.dir/all
+CMakeFiles/ParserTest.dir/all:
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/depend
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=1,2,3,4,5,6,7 "Built target ParserTest"
+.PHONY : CMakeFiles/ParserTest.dir/all
 
 # Include target in all.
-all: CMakeFiles/test1.dir/all
+all: CMakeFiles/ParserTest.dir/all
 
 .PHONY : all
 
 # Build rule for subdir invocation for target.
-CMakeFiles/test1.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 6
-	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/test1.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 0
-.PHONY : CMakeFiles/test1.dir/rule
+CMakeFiles/ParserTest.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 7
+	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ParserTest.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 0
+.PHONY : CMakeFiles/ParserTest.dir/rule
 
 # Convenience name for target.
-test1: CMakeFiles/test1.dir/rule
+ParserTest: CMakeFiles/ParserTest.dir/rule
 
-.PHONY : test1
+.PHONY : ParserTest
 
 # clean rule for target.
-CMakeFiles/test1.dir/clean:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/clean
-.PHONY : CMakeFiles/test1.dir/clean
+CMakeFiles/ParserTest.dir/clean:
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/clean
+.PHONY : CMakeFiles/ParserTest.dir/clean
 
 # clean rule for target.
-clean: CMakeFiles/test1.dir/clean
+clean: CMakeFiles/ParserTest.dir/clean
 
 .PHONY : clean
 
 #=============================================================================
-# Target rules for target CMakeFiles/crawl.dir
+# Target rules for target CMakeFiles/search-engine.dir
 
 # All Build rule for target.
-CMakeFiles/crawl.dir/all:
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/depend
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=11,12,13,14,15,16,17,18,19 "Built target crawl"
-.PHONY : CMakeFiles/crawl.dir/all
+CMakeFiles/search-engine.dir/all:
+	$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/depend
+	$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=29,30,31 "Built target search-engine"
+.PHONY : CMakeFiles/search-engine.dir/all
 
 # Include target in all.
-all: CMakeFiles/crawl.dir/all
+all: CMakeFiles/search-engine.dir/all
 
 .PHONY : all
 
 # Build rule for subdir invocation for target.
-CMakeFiles/crawl.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 9
-	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/crawl.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 0
-.PHONY : CMakeFiles/crawl.dir/rule
+CMakeFiles/search-engine.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 3
+	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/search-engine.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 0
+.PHONY : CMakeFiles/search-engine.dir/rule
 
 # Convenience name for target.
-crawl: CMakeFiles/crawl.dir/rule
+search-engine: CMakeFiles/search-engine.dir/rule
 
-.PHONY : crawl
+.PHONY : search-engine
 
 # clean rule for target.
-CMakeFiles/crawl.dir/clean:
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/clean
-.PHONY : CMakeFiles/crawl.dir/clean
+CMakeFiles/search-engine.dir/clean:
+	$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/clean
+.PHONY : CMakeFiles/search-engine.dir/clean
 
 # clean rule for target.
-clean: CMakeFiles/crawl.dir/clean
+clean: CMakeFiles/search-engine.dir/clean
 
 .PHONY : clean
 
 #=============================================================================
-# Target rules for target CMakeFiles/search.dir
+# Target rules for target CMakeFiles/crawler-parser-test.dir
 
 # All Build rule for target.
-CMakeFiles/search.dir/all:
-	$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/depend
-	$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=20,21,22 "Built target search"
-.PHONY : CMakeFiles/search.dir/all
+CMakeFiles/crawler-parser-test.dir/all:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/depend
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=20,21,22,23,24,25,26,27,28 "Built target crawler-parser-test"
+.PHONY : CMakeFiles/crawler-parser-test.dir/all
 
 # Include target in all.
-all: CMakeFiles/search.dir/all
+all: CMakeFiles/crawler-parser-test.dir/all
 
 .PHONY : all
 
 # Build rule for subdir invocation for target.
-CMakeFiles/search.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 3
-	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/search.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 0
-.PHONY : CMakeFiles/search.dir/rule
+CMakeFiles/crawler-parser-test.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 9
+	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/crawler-parser-test.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 0
+.PHONY : CMakeFiles/crawler-parser-test.dir/rule
 
 # Convenience name for target.
-search: CMakeFiles/search.dir/rule
+crawler-parser-test: CMakeFiles/crawler-parser-test.dir/rule
 
-.PHONY : search
+.PHONY : crawler-parser-test
 
 # clean rule for target.
-CMakeFiles/search.dir/clean:
-	$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/clean
-.PHONY : CMakeFiles/search.dir/clean
+CMakeFiles/crawler-parser-test.dir/clean:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/clean
+.PHONY : CMakeFiles/crawler-parser-test.dir/clean
 
 # clean rule for target.
-clean: CMakeFiles/search.dir/clean
+clean: CMakeFiles/crawler-parser-test.dir/clean
 
 .PHONY : clean
 
diff --git a/cmake-build-debug/CMakeFiles/TargetDirectories.txt b/cmake-build-debug/CMakeFiles/TargetDirectories.txt
index 1126b31bb3d0a6ba8405e74014ade8bf58a55a23..d00053c1955fc3e79dd1e6620b7e1f60dc494c63 100644
--- a/cmake-build-debug/CMakeFiles/TargetDirectories.txt
+++ b/cmake-build-debug/CMakeFiles/TargetDirectories.txt
@@ -1,10 +1,9 @@
-/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/edit_cache.dir
-/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/URLTEST.dir
-/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/ParserEndToEndTest.dir
-/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/rebuild_cache.dir
-/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/StemmerTest.dir
-/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/StringProcessingTest.dir
-/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/TokenizerTest.dir
-/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/test1.dir
-/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/crawl.dir
-/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/search.dir
+/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/edit_cache.dir
+/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/rebuild_cache.dir
+/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/StemmerTest.dir
+/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/StringProcessingTest.dir
+/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/TokenizerTest.dir
+/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/URLTEST.dir
+/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/ParserTest.dir
+/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/search-engine.dir
+/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/crawler-parser-test.dir
diff --git a/cmake-build-debug/CMakeFiles/clion-log.txt b/cmake-build-debug/CMakeFiles/clion-log.txt
index 63a2ec4f6cf1e845749b4cdaa2366741947feb3c..f239e1bd9a1b88a2aa7159e5bd73184452a18939 100644
--- a/cmake-build-debug/CMakeFiles/clion-log.txt
+++ b/cmake-build-debug/CMakeFiles/clion-log.txt
@@ -1,4 +1,4 @@
-/Applications/CLion.app/Contents/bin/cmake/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /Users/benbergkamp/Desktop/398/eecs398-search
+/Applications/CLion.app/Contents/bin/cmake/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search
 -- Configuring done
 -- Generating done
--- Build files have been written to: /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug
+-- Build files have been written to: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug
diff --git a/cmake-build-debug/CMakeFiles/feature_tests.bin b/cmake-build-debug/CMakeFiles/feature_tests.bin
index f71dd23d58dcd0c3efadf1fe7b86c786a7c117b4..ca7d2a37e37791928f6d8de1c4438d39ed68ad41 100755
Binary files a/cmake-build-debug/CMakeFiles/feature_tests.bin and b/cmake-build-debug/CMakeFiles/feature_tests.bin differ
diff --git a/cmake-build-debug/CMakeFiles/progress.marks b/cmake-build-debug/CMakeFiles/progress.marks
index 9902f17848a8974ab57d57999b74a63198fe6e23..e85087affded170efcbc6f9672a6fc671d839ed0 100644
--- a/cmake-build-debug/CMakeFiles/progress.marks
+++ b/cmake-build-debug/CMakeFiles/progress.marks
@@ -1 +1 @@
-28
+31
diff --git a/cmake-build-debug/Makefile b/cmake-build-debug/Makefile
index e005a969ef046f6c6836bf9d4aa012d2e788dbd0..8279700a81ea95666767f82aa2c2c895cc202ea4 100644
--- a/cmake-build-debug/Makefile
+++ b/cmake-build-debug/Makefile
@@ -48,10 +48,10 @@ RM = /Applications/CLion.app/Contents/bin/cmake/bin/cmake -E remove -f
 EQUALS = =
 
 # The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /Users/benbergkamp/Desktop/398/eecs398-search
+CMAKE_SOURCE_DIR = /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search
 
 # The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug
+CMAKE_BINARY_DIR = /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug
 
 #=============================================================================
 # Targets provided globally by CMake.
@@ -80,9 +80,9 @@ rebuild_cache/fast: rebuild_cache
 
 # The main all target
 all: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles/progress.marks
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/progress.marks
 	$(MAKE) -f CMakeFiles/Makefile2 all
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/CMakeFiles 0
+	$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 0
 .PHONY : all
 
 # The main clean target
@@ -110,32 +110,6 @@ 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 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 ParserEndToEndTest
-
-# Build rule for target.
-ParserEndToEndTest: cmake_check_build_system
-	$(MAKE) -f CMakeFiles/Makefile2 ParserEndToEndTest
-.PHONY : ParserEndToEndTest
-
-# fast build rule for target.
-ParserEndToEndTest/fast:
-	$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/build
-.PHONY : ParserEndToEndTest/fast
-
 #=============================================================================
 # Target rules for targets named StemmerTest
 
@@ -176,43 +150,56 @@ TokenizerTest/fast:
 .PHONY : TokenizerTest/fast
 
 #=============================================================================
-# Target rules for targets named test1
+# Target rules for targets named URLTEST
 
 # Build rule for target.
-test1: cmake_check_build_system
-	$(MAKE) -f CMakeFiles/Makefile2 test1
-.PHONY : test1
+URLTEST: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 URLTEST
+.PHONY : URLTEST
 
 # fast build rule for target.
-test1/fast:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/build
-.PHONY : test1/fast
+URLTEST/fast:
+	$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/build
+.PHONY : URLTEST/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 crawl
+# Target rules for targets named search-engine
 
 # Build rule for target.
-crawl: cmake_check_build_system
-	$(MAKE) -f CMakeFiles/Makefile2 crawl
-.PHONY : crawl
+search-engine: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 search-engine
+.PHONY : search-engine
 
 # fast build rule for target.
-crawl/fast:
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/build
-.PHONY : crawl/fast
+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 search
+# Target rules for targets named crawler-parser-test
 
 # Build rule for target.
-search: cmake_check_build_system
-	$(MAKE) -f CMakeFiles/Makefile2 search
-.PHONY : search
+crawler-parser-test: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 crawler-parser-test
+.PHONY : crawler-parser-test
 
 # fast build rule for target.
-search/fast:
-	$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/build
-.PHONY : search/fast
+crawler-parser-test/fast:
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/build
+.PHONY : crawler-parser-test/fast
 
 crawler/SocketReader.o: crawler/SocketReader.cpp.o
 
@@ -220,8 +207,7 @@ crawler/SocketReader.o: crawler/SocketReader.cpp.o
 
 # target to build an object file
 crawler/SocketReader.cpp.o:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/crawler/SocketReader.cpp.o
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/crawler/SocketReader.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/SocketReader.cpp.o
 .PHONY : crawler/SocketReader.cpp.o
 
 crawler/SocketReader.i: crawler/SocketReader.cpp.i
@@ -230,8 +216,7 @@ crawler/SocketReader.i: crawler/SocketReader.cpp.i
 
 # target to preprocess a source file
 crawler/SocketReader.cpp.i:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/crawler/SocketReader.cpp.i
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/crawler/SocketReader.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/SocketReader.cpp.i
 .PHONY : crawler/SocketReader.cpp.i
 
 crawler/SocketReader.s: crawler/SocketReader.cpp.s
@@ -240,8 +225,7 @@ crawler/SocketReader.s: crawler/SocketReader.cpp.s
 
 # target to generate assembly for a file
 crawler/SocketReader.cpp.s:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/crawler/SocketReader.cpp.s
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/crawler/SocketReader.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/SocketReader.cpp.s
 .PHONY : crawler/SocketReader.cpp.s
 
 crawler/crawler.o: crawler/crawler.cpp.o
@@ -250,8 +234,7 @@ crawler/crawler.o: crawler/crawler.cpp.o
 
 # target to build an object file
 crawler/crawler.cpp.o:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/crawler/crawler.cpp.o
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/crawler/crawler.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/crawler.cpp.o
 .PHONY : crawler/crawler.cpp.o
 
 crawler/crawler.i: crawler/crawler.cpp.i
@@ -260,8 +243,7 @@ crawler/crawler.i: crawler/crawler.cpp.i
 
 # target to preprocess a source file
 crawler/crawler.cpp.i:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/crawler/crawler.cpp.i
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/crawler/crawler.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/crawler.cpp.i
 .PHONY : crawler/crawler.cpp.i
 
 crawler/crawler.s: crawler/crawler.cpp.s
@@ -270,8 +252,7 @@ crawler/crawler.s: crawler/crawler.cpp.s
 
 # target to generate assembly for a file
 crawler/crawler.cpp.s:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/crawler/crawler.cpp.s
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/crawler/crawler.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/crawler.cpp.s
 .PHONY : crawler/crawler.cpp.s
 
 crawler/spider.o: crawler/spider.cpp.o
@@ -280,8 +261,7 @@ crawler/spider.o: crawler/spider.cpp.o
 
 # target to build an object file
 crawler/spider.cpp.o:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/crawler/spider.cpp.o
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/crawler/spider.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/spider.cpp.o
 .PHONY : crawler/spider.cpp.o
 
 crawler/spider.i: crawler/spider.cpp.i
@@ -290,8 +270,7 @@ crawler/spider.i: crawler/spider.cpp.i
 
 # target to preprocess a source file
 crawler/spider.cpp.i:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/crawler/spider.cpp.i
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/crawler/spider.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/spider.cpp.i
 .PHONY : crawler/spider.cpp.i
 
 crawler/spider.s: crawler/spider.cpp.s
@@ -300,8 +279,7 @@ crawler/spider.s: crawler/spider.cpp.s
 
 # target to generate assembly for a file
 crawler/spider.cpp.s:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/crawler/spider.cpp.s
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/crawler/spider.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/crawler/spider.cpp.s
 .PHONY : crawler/spider.cpp.s
 
 main.o: main.cpp.o
@@ -310,9 +288,7 @@ main.o: main.cpp.o
 
 # target to build an object file
 main.cpp.o:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/main.cpp.o
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/main.cpp.o
-	$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/main.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/main.cpp.o
 .PHONY : main.cpp.o
 
 main.i: main.cpp.i
@@ -321,9 +297,7 @@ main.i: main.cpp.i
 
 # target to preprocess a source file
 main.cpp.i:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/main.cpp.i
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/main.cpp.i
-	$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/main.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/main.cpp.i
 .PHONY : main.cpp.i
 
 main.s: main.cpp.s
@@ -332,9 +306,7 @@ main.s: main.cpp.s
 
 # target to generate assembly for a file
 main.cpp.s:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/main.cpp.s
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/main.cpp.s
-	$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/main.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/main.cpp.s
 .PHONY : main.cpp.s
 
 parser/Parser.o: parser/Parser.cpp.o
@@ -343,7 +315,8 @@ parser/Parser.o: parser/Parser.cpp.o
 
 # target to build an object file
 parser/Parser.cpp.o:
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/parser/Parser.cpp.o
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/Parser.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/parser/Parser.cpp.o
 .PHONY : parser/Parser.cpp.o
 
 parser/Parser.i: parser/Parser.cpp.i
@@ -352,7 +325,8 @@ parser/Parser.i: parser/Parser.cpp.i
 
 # target to preprocess a source file
 parser/Parser.cpp.i:
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/parser/Parser.cpp.i
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/Parser.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/parser/Parser.cpp.i
 .PHONY : parser/Parser.cpp.i
 
 parser/Parser.s: parser/Parser.cpp.s
@@ -361,7 +335,8 @@ parser/Parser.s: parser/Parser.cpp.s
 
 # target to generate assembly for a file
 parser/Parser.cpp.s:
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/parser/Parser.cpp.s
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/Parser.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/parser/Parser.cpp.s
 .PHONY : parser/Parser.cpp.s
 
 parser/tests/parserTest.o: parser/tests/parserTest.cpp.o
@@ -370,7 +345,7 @@ parser/tests/parserTest.o: parser/tests/parserTest.cpp.o
 
 # target to build an object file
 parser/tests/parserTest.cpp.o:
-	$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/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
@@ -379,7 +354,7 @@ parser/tests/parserTest.i: parser/tests/parserTest.cpp.i
 
 # target to preprocess a source file
 parser/tests/parserTest.cpp.i:
-	$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/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
@@ -388,62 +363,92 @@ parser/tests/parserTest.s: parser/tests/parserTest.cpp.s
 
 # target to generate assembly for a file
 parser/tests/parserTest.cpp.s:
-	$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/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
 
-shared/Document.o: shared/Document.cpp.o
+query/Query.o: query/Query.cpp.o
 
-.PHONY : shared/Document.o
+.PHONY : query/Query.o
 
 # target to build an object file
-shared/Document.cpp.o:
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/shared/Document.cpp.o
-.PHONY : shared/Document.cpp.o
+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
 
-shared/Document.i: shared/Document.cpp.i
+query/Query.i: query/Query.cpp.i
 
-.PHONY : shared/Document.i
+.PHONY : query/Query.i
 
 # target to preprocess a source file
-shared/Document.cpp.i:
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/shared/Document.cpp.i
-.PHONY : shared/Document.cpp.i
+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
 
-shared/Document.s: shared/Document.cpp.s
+query/Query.s: query/Query.cpp.s
 
-.PHONY : shared/Document.s
+.PHONY : query/Query.s
 
 # target to generate assembly for a file
-shared/Document.cpp.s:
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/shared/Document.cpp.s
-.PHONY : shared/Document.cpp.s
+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
 
-shared/ProducerConsumerQueue.o: shared/ProducerConsumerQueue.cpp.o
+.PHONY : search.s
 
-.PHONY : shared/ProducerConsumerQueue.o
+# 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/ProducerConsumerQueue.cpp.o:
-	$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/shared/ProducerConsumerQueue.cpp.o
-.PHONY : shared/ProducerConsumerQueue.cpp.o
+shared/Document.cpp.o:
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/shared/Document.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/shared/Document.cpp.o
+.PHONY : shared/Document.cpp.o
 
-shared/ProducerConsumerQueue.i: shared/ProducerConsumerQueue.cpp.i
+shared/Document.i: shared/Document.cpp.i
 
-.PHONY : shared/ProducerConsumerQueue.i
+.PHONY : shared/Document.i
 
 # target to preprocess a source file
-shared/ProducerConsumerQueue.cpp.i:
-	$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/shared/ProducerConsumerQueue.cpp.i
-.PHONY : shared/ProducerConsumerQueue.cpp.i
+shared/Document.cpp.i:
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/shared/Document.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/shared/Document.cpp.i
+.PHONY : shared/Document.cpp.i
 
-shared/ProducerConsumerQueue.s: shared/ProducerConsumerQueue.cpp.s
+shared/Document.s: shared/Document.cpp.s
 
-.PHONY : shared/ProducerConsumerQueue.s
+.PHONY : shared/Document.s
 
 # target to generate assembly for a file
-shared/ProducerConsumerQueue.cpp.s:
-	$(MAKE) -f CMakeFiles/search.dir/build.make CMakeFiles/search.dir/shared/ProducerConsumerQueue.cpp.s
-.PHONY : shared/ProducerConsumerQueue.cpp.s
+shared/Document.cpp.s:
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/shared/Document.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/shared/Document.cpp.s
+.PHONY : shared/Document.cpp.s
 
 shared/urlTest.o: shared/urlTest.cpp.o
 
@@ -472,13 +477,73 @@ 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/StemmerTest.dir/build.make CMakeFiles/StemmerTest.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/StemmerTest.dir/build.make CMakeFiles/StemmerTest.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/StemmerTest.dir/build.make CMakeFiles/StemmerTest.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/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/Tokenizer.cpp.o
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.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/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/Tokenizer.cpp.i
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.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/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/Tokenizer.cpp.s
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.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/crawl.dir/build.make CMakeFiles/crawl.dir/util/stringProcessing.cpp.o
+	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/stringProcessing.cpp.o
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/stringProcessing.cpp.o
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/stringProcessing.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/stringProcessing.cpp.o
 .PHONY : util/stringProcessing.cpp.o
 
 util/stringProcessing.i: util/stringProcessing.cpp.i
@@ -487,7 +552,10 @@ util/stringProcessing.i: util/stringProcessing.cpp.i
 
 # target to preprocess a source file
 util/stringProcessing.cpp.i:
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/util/stringProcessing.cpp.i
+	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/stringProcessing.cpp.i
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/stringProcessing.cpp.i
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/stringProcessing.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/stringProcessing.cpp.i
 .PHONY : util/stringProcessing.cpp.i
 
 util/stringProcessing.s: util/stringProcessing.cpp.s
@@ -496,7 +564,10 @@ util/stringProcessing.s: util/stringProcessing.cpp.s
 
 # target to generate assembly for a file
 util/stringProcessing.cpp.s:
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/util/stringProcessing.cpp.s
+	$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/stringProcessing.cpp.s
+	$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/util/stringProcessing.cpp.s
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/stringProcessing.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/stringProcessing.cpp.s
 .PHONY : util/stringProcessing.cpp.s
 
 util/tests/stemmerTest.o: util/tests/stemmerTest.cpp.o
@@ -586,8 +657,8 @@ util/util.o: util/util.cpp.o
 
 # target to build an object file
 util/util.cpp.o:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/util/util.cpp.o
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/util/util.cpp.o
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/util.cpp.o
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/util.cpp.o
 .PHONY : util/util.cpp.o
 
 util/util.i: util/util.cpp.i
@@ -596,8 +667,8 @@ util/util.i: util/util.cpp.i
 
 # target to preprocess a source file
 util/util.cpp.i:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/util/util.cpp.i
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/util/util.cpp.i
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/util.cpp.i
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/util.cpp.i
 .PHONY : util/util.cpp.i
 
 util/util.s: util/util.cpp.s
@@ -606,8 +677,8 @@ util/util.s: util/util.cpp.s
 
 # target to generate assembly for a file
 util/util.cpp.s:
-	$(MAKE) -f CMakeFiles/test1.dir/build.make CMakeFiles/test1.dir/util/util.cpp.s
-	$(MAKE) -f CMakeFiles/crawl.dir/build.make CMakeFiles/crawl.dir/util/util.cpp.s
+	$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/util.cpp.s
+	$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/util.cpp.s
 .PHONY : util/util.cpp.s
 
 # Help Target
@@ -617,15 +688,14 @@ help:
 	@echo "... clean"
 	@echo "... depend"
 	@echo "... edit_cache"
-	@echo "... URLTEST"
-	@echo "... ParserEndToEndTest"
 	@echo "... rebuild_cache"
 	@echo "... StemmerTest"
 	@echo "... StringProcessingTest"
 	@echo "... TokenizerTest"
-	@echo "... test1"
-	@echo "... crawl"
-	@echo "... search"
+	@echo "... URLTEST"
+	@echo "... ParserTest"
+	@echo "... search-engine"
+	@echo "... crawler-parser-test"
 	@echo "... crawler/SocketReader.o"
 	@echo "... crawler/SocketReader.i"
 	@echo "... crawler/SocketReader.s"
@@ -644,15 +714,24 @@ help:
 	@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.o"
-	@echo "... shared/ProducerConsumerQueue.i"
-	@echo "... shared/ProducerConsumerQueue.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"
diff --git a/cmake-build-debug/cmake_install.cmake b/cmake-build-debug/cmake_install.cmake
index 05e092f8cde0a3c22acb3d5bd416219a238b3308..c83557e6d2f15a2016f8f6c21cef8c71cf52a1d5 100644
--- a/cmake-build-debug/cmake_install.cmake
+++ b/cmake-build-debug/cmake_install.cmake
@@ -1,4 +1,4 @@
-# Install script for directory: /Users/benbergkamp/Desktop/398/eecs398-search
+# Install script for directory: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search
 
 # Set the install prefix
 if(NOT DEFINED CMAKE_INSTALL_PREFIX)
@@ -35,5 +35,5 @@ endif()
 
 string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
        "${CMAKE_INSTALL_MANIFEST_FILES}")
-file(WRITE "/Users/benbergkamp/Desktop/398/eecs398-search/cmake-build-debug/${CMAKE_INSTALL_MANIFEST}"
+file(WRITE "/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/${CMAKE_INSTALL_MANIFEST}"
      "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/parser/Parser.cpp b/parser/Parser.cpp
index e412e3637cb6e0d474a00b71c794aeaec2e748a7..14fbc83e3baaf256fb0ed92afac69ff84bc07556 100644
--- a/parser/Parser.cpp
+++ b/parser/Parser.cpp
@@ -1,8 +1,3 @@
-//
-// Created by Jake Close on 3/5/18.
-//
-
-
 
 #include "Parser.h"
 
@@ -60,7 +55,7 @@ void Parser::parse ( string html, Tokenizer *tokenizer )
  * @param word
  * @return
  */
-string Parser::extract_url ( string word )
+string Parser::extract_url ( string & word )
 	{
 	string url = "";
 	if ( *findStr ( "<a", word ) != '\0' )
diff --git a/parser/Parser.h b/parser/Parser.h
index 17e5258dc9781c2fc728da3ebf91e56d6550788b..da60d764f0fe07690dfb8983cf4af45c65919489 100644
--- a/parser/Parser.h
+++ b/parser/Parser.h
@@ -1,10 +1,3 @@
-//
-// Created by Veronica Day on 1/28/18.
-//
-
-// keep running count of offset, if stop word: don't incrememnt and remove stopword
-// tokenizer returns pointer to document dictionary, parser puts it on the indexer's queue
-//
 
 #pragma once
 #include <string>
@@ -65,7 +58,7 @@ private:
 	 * @param word
 	 * @return
 	 */
-	string extract_url ( string word );
+	string extract_url ( string & word );
 
 
 	/**
diff --git a/parser/tests/parserTest.cpp b/parser/tests/parserTest.cpp
index 75c6cc8407b09d376c4152c896b48e620bd9907f..542bfbe4c6fdea7309fc9bcfad55a62884e5754d 100644
--- a/parser/tests/parserTest.cpp
+++ b/parser/tests/parserTest.cpp
@@ -1,6 +1,3 @@
-//
-// Created by anvia on 2/6/2018.
-//
 
 #include <string>
 #include <cassert>
@@ -38,10 +35,10 @@ void testSimple ( )
 	assert ( dictionary != nullptr );
 	assert ( dictionary->size () == 2);
 	assert ( dictionary->find ( "cat" ) != dictionary->end () );
-	assert ( dictionary->find ( "title" ) != dictionary->end () );
+	assert ( dictionary->find ( "titl" ) != dictionary->end () );
 	assert ( dictionary->find ( "this" ) == dictionary->end () );
 	assert ( dictionary->at ( "cat" )[ 0 ] == 0 && dictionary->at ( "cat" )[ 1 ] == 2 );
-	assert ( dictionary->at ( "title" )[ 0 ] == 1 );
+	assert ( dictionary->at ( "titl" )[ 0 ] == 1 );
 
 	delete dictionary;
 
@@ -52,37 +49,34 @@ void testComplex ( )
 	ProducerConsumerQueue < string >  urlFrontierTest;
 	ifstream file("../tests/cats.html");
 	string temp;
-	char docString[10240];
-	strcpy(docString, "<title>Joe the Cat</title>\n");
-
-	strcat(docString, "<a href=\"https://www.w3schools.com/html/\">Visit our HTML tutorial</a>\n");
-	while(std::getline(file, temp)) {
-		//strcat(docString, str(temp));
+	string docString = "<title>Joe the Cat</title>\n";
+	docString += "<a href=\"https://www.w3schools.com/html/\">Visit our HTML tutorial</a>\n";
+	while ( std::getline ( file, temp ) )
+		{
+		docString += temp;
 		}
+
 	ParsedUrl url = ParsedUrl("https://www.w3schools.com/tests/cats.html");
-	Document document ( url, docString );
+	char * writable = new char[docString.size( ) + 1];
+	std::copy(docString.begin( ), docString.end( ), writable);
+	writable[ docString.size( ) ] = '\0';
+
+	Document document ( url, writable );
 
 	Parser parser ( &urlFrontierTest );
 	auto dictionary = parser.execute ( &document );
 
-//	cout << dictionary->size () << endl;
-//	for (auto p : *dictionary)
-//		cout << p.first << endl;
-
 	assert ( dictionary != nullptr );
 	assert ( dictionary->size () == 3);
 
 	assert ( dictionary->find ( "cat" ) != dictionary->end () );
-	assert ( dictionary->find ( "story" ) != dictionary->end () );
+	assert ( dictionary->find ( "stori" ) != dictionary->end () );
 	assert ( dictionary->find ( "joe" ) != dictionary->end () );
 
 	assert ( dictionary->find ( "the" ) == dictionary->end () );
 	assert ( dictionary->find ( "of" ) == dictionary->end () );
 
-//	assert ( dictionary->at ( "cat" )[ 0 ] == 1 );
-//	assert ( dictionary->at ( "story" )[ 0 ] == 0 );
-//	cout << urlFrontierTest->Size () << endl;
-//	cout << urlFrontierTest->Pop () << endl;
 	delete dictionary;
+	delete[] writable;
 
 	}
\ No newline at end of file
diff --git a/shared/Document.cpp b/shared/Document.cpp
index 204dde3c45f027e10d494de0cd70034e4a7d9a36..54fef829b7c77ff47be09a4e045e9d34eaff2355 100644
--- a/shared/Document.cpp
+++ b/shared/Document.cpp
@@ -1,8 +1,3 @@
-//
-// Created by Jake Close on 3/5/18.
-//
-
-
 
 #include "Document.h"
 
diff --git a/util/Stemmer.cpp b/util/Stemmer.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..143418698d5a8ffd24b06b80c6bc7c5fc074742c
--- /dev/null
+++ b/util/Stemmer.cpp
@@ -0,0 +1,838 @@
+
+#include "Stemmer.h"
+#include "stringProcessing.h"
+
+/**
+ * Stemmer Cstor
+ */
+Stemmer::Stemmer ( )
+	{ }
+
+/**
+ * Returns the stem of a word
+ *
+ * @param word
+ * @return
+ */
+std::string Stemmer::execute ( std::string word )
+	{
+	word = step1a( word );
+	word = step1b( word );
+	word = step1c( word );
+	word = step2( word );
+	word = step3( word );
+	word = step4( word );
+	word = step5a( word );
+	word = step5b( word );
+	return word;
+	}
+
+/**
+ * Number of consonant sequences
+ *
+ * <c><v>       -> 0
+ * <c>vc<v>  	 -> 1
+ * <c>vcvc<v>   -> 2
+ * <c>vcvcvc<v> -> 3
+ *
+ * @param word
+ * @return
+ */
+int Stemmer::measure ( std::string word )
+	{
+	int m = 0;
+	int begin = 0;
+	unsigned long end = word.size( ) - 1;
+	// Looking for CVC pattern
+	while ( begin <= end )
+		{
+		if ( !isConsonant( word.begin( ) + begin, word.begin( ) ) )
+			{
+			break;
+			}
+		begin += 1;
+		}
+	if ( begin > end )
+		{
+		return m;
+		}
+	begin += 1;
+
+	while ( begin <= end )
+		{
+		while ( begin <= end )
+			{
+			if ( isConsonant( word.begin( ) + begin, word.begin( ) ) )
+				{
+				break;
+				}
+			begin += 1;
+			}
+		if ( begin > end )
+			{
+			return m;
+			}
+		begin += 1;
+		m += 1;
+		while ( begin <= end )
+			{
+			if ( !isConsonant( word.begin( ) + begin, word.begin( ) ) )
+				{
+				break;
+				}
+			begin += 1;
+			}
+		if ( begin > end )
+			{
+			return m;
+			}
+		begin += 1;
+		}
+		return m;
+
+	}
+
+/**
+ * Check if a vowel is present in the stem
+ *
+ * @param wordBeg
+ * @param wordEnd
+ * @param word
+ * @return
+ */
+bool Stemmer::isVowelPresent ( string::iterator wordBeg, string::iterator wordEnd, string word )
+	{
+	while ( wordBeg != wordEnd )
+		{
+		if ( !isConsonant( wordBeg, word.begin( ) ) )
+			{
+			return true;
+			}
+		++wordBeg;
+		}
+	return false;
+	}
+
+/**
+ * Return true if the wordIt points to a consonant
+ *
+ * @param wordIt
+ * @param wordBegin
+ * @return
+ */
+bool Stemmer::isConsonant ( string::iterator wordIt, string::iterator wordBegin )
+	{
+	if ( *wordIt == 'a' || *wordIt == 'e' || *wordIt == 'i' || *wordIt == 'o' || *wordIt == 'u' )
+		{
+		return false;
+		}
+	if ( *wordIt == 'y' )
+		{
+		if ( wordIt == wordBegin )
+			{
+			return true;
+			}
+		else
+			{
+			return ( !isConsonant( wordIt - 1, wordBegin ) );
+			}
+		}
+	return true;
+	}
+
+/**
+ * Returns true if should add 'e' to end
+ *
+ * @param word
+ * @return
+ */
+bool Stemmer::addE ( string word )
+	{
+	// AT -> ATE
+	// BL -> BLE
+	// IZ -> IZE
+	unsigned long end = word.size( ) - 1;
+	auto begPtr = word.begin( );
+	auto endPtr = begPtr + end;
+	auto substrAT = findPrev( "at", endPtr, begPtr + word.size( ) - 3 );
+	auto substrBL = findPrev( "bl", endPtr, begPtr + word.size( ) - 3 );
+	auto substrIZ = findPrev( "iz", endPtr, begPtr + word.size( ) - 3 );
+
+	if ( *substrAT != '\0' || *substrBL != '\0' || *substrIZ != '\0' )
+		{
+		return true;
+		}
+	else
+		{
+		return false;
+		}
+	}
+
+/**
+ * Returns true if word ends in double constant
+ * Not LL, SS, ZZ
+ * @param word
+ * @return
+ */
+bool Stemmer::doubleCon ( string word )
+	{
+	unsigned long end = word.size( ) - 1;
+	auto endPtr = word.begin( ) + end;
+
+	if ( word.size( ) > 2 && *endPtr == *( endPtr - 1 ) )
+		{
+		if ( *endPtr == 'l' || *endPtr == 's' || *endPtr == 'z' )
+			{
+			return false;
+			}
+		else
+			{
+			return true;
+			}
+		}
+	return false;
+	}
+
+/**
+ * Returns true if a word ends in a
+ * Consonant, Vowel, Consonant pattern
+ * Except when second C is W, X, or Y
+ *
+ * @param word
+ * @return
+ */
+bool Stemmer::endCVC ( std::string word )
+	{
+	unsigned long end = word.size( ) - 1;
+	auto endPtr = word.begin( ) + end - 1;
+
+	if ( word.size( ) > 3 )
+		{
+		// the stem ends cvc
+		if ( isConsonant( endPtr, word.begin( ) ) && !isConsonant( endPtr - 1, word.begin( ) ) &&
+		     isConsonant( endPtr - 2, word.begin( ) ) )
+			{
+			// the second c is not W, X or Y
+			if ( *( endPtr - 1 ) != 'w' && *( endPtr - 1 ) != 'x' && *( endPtr - 1 ) != 'y' )
+				{
+				return true;
+				}
+			}
+		}
+	return false;
+	}
+
+/**
+ * Stem plural words
+ *
+ * @param word
+ * @return
+ */
+std::string Stemmer::step1a ( std::string word )
+	{
+	unsigned long end = word.size( ) - 1;
+	auto begPtr = word.begin( );
+	auto endPtr = begPtr + end;
+
+	// check S at end
+	if ( word.at( end ) == 's' )
+		{
+		string wordStem( word.begin( ), word.end( ) );
+
+		auto substrSSES = findPrev( "sses", endPtr, begPtr + word.size( ) - 5 );
+		auto substrIES = findPrev( "ies", endPtr, begPtr + word.size( ) - 4 );
+		auto substrSS = findPrev( "ss", endPtr, begPtr + word.size( ) - 3 );
+		auto substrS = findPrev( "s", endPtr, begPtr + word.size( ) - 2 );
+		// sses -> ss
+		// caresses -> caress
+		if ( *substrSSES != '\0' )
+			{
+			wordStem = subStr( word.begin( ), substrSSES );
+			wordStem += "ss";
+			}
+			// ies -> i
+			// ponies -> poni
+		else if ( *substrIES != '\0' )
+			{
+			wordStem = subStr( word.begin( ), substrIES );
+			wordStem += 'i';
+			}
+			// ss -> ss
+			// caress -> caress
+		else if ( *substrSS != '\0' )
+			{
+			// do nothing
+			}
+			// s ->
+			// cats -> cat
+		else if ( *substrS != '\0' )
+			{
+			wordStem = subStr( word.begin( ), substrS );
+			}
+		else
+			{
+			wordStem = subStr( word.begin( ), word.end( ) );
+			}
+
+		return wordStem;
+		}
+	return word;
+	}
+
+/**
+ * Stem ED and ING
+ *
+ * @param word
+ * @return
+ */
+std::string Stemmer::step1b ( std::string word )
+	{
+	unsigned long end = word.size( ) - 1;
+	auto begPtr = word.begin( );
+	auto endPtr = begPtr + end;
+
+	string wordStem( word.begin( ), word.end( ) );
+
+	auto substrEED = findPrev( "eed", endPtr, begPtr + word.size( ) - 4 );
+	auto substrED = findPrev( "ed", endPtr, begPtr + word.size( ) - 3 );
+	auto substrING = findPrev( "ing", endPtr, begPtr + word.size( ) - 4 );
+
+	// check EED at end and m > 0
+	// feed -> feed
+	// agreed -> agree
+	if ( measure( word ) > 1 && *substrEED != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrEED );
+		wordStem += "ee";
+		}
+		// check ED at end and preceeded by substr with vowel
+		// plastered -> plaster
+		// bled -> bled
+	else if ( measure( word ) > 1 && *substrED != '\0' && isVowelPresent( word.begin( ), substrED, word ) )
+		{
+		wordStem = subStr( word.begin( ), substrED );
+		if ( addE( wordStem ) )
+			{
+			wordStem += 'e';
+			}
+		else if ( doubleCon( wordStem ) )
+			{
+			wordStem = subStr( word, 0, wordStem.size( ) - 1 );
+			}
+		else if ( measure( word ) == 1 && endCVC( wordStem + 'e' ) )
+			{
+			wordStem += 'e';
+			}
+		}
+		// check ING at end and proceeded by substr with vowel
+		// motoring -> motor
+		// sing -> sing
+	else if ( *substrING != '\0' && isVowelPresent( word.begin( ), substrING, word ) )
+		{
+		wordStem = subStr( word.begin( ), substrING );
+		if ( addE( wordStem ) )
+			{
+			wordStem += 'e';
+			}
+		else if ( doubleCon( wordStem ) )
+			{
+			wordStem = subStr( word, 0, wordStem.size( ) - 1 );
+			}
+		else if ( measure( wordStem ) == 1 && endCVC( wordStem + 'e' ) )
+			{
+			wordStem += 'e';
+			}
+		}
+
+	return wordStem;
+
+	}
+
+/**
+ * Checks for Y -> I
+ * @param word
+ * @return
+ */
+string Stemmer::step1c ( string word )
+	{
+	unsigned long end = word.size( ) - 1;
+	auto endPtr = word.begin( ) + end;
+
+	// Y -> I
+	// happy -> happi
+	// sky -> sky
+	if ( *endPtr == 'y' )
+		{
+		if ( isVowelPresent( word.begin( ), endPtr, word ) )
+			{
+			word = subStr( word, 0, word.size( ) - 1 );
+			word += 'i';
+			}
+		}
+	return word;
+	}
+
+/**
+ * Step 2
+ *
+ * @param word
+ * @return
+ */
+string Stemmer::step2 ( std::string word )
+	{
+	if ( measure( word ) == 0 )
+		{
+		return word;
+		}
+
+	unsigned long end = word.size( ) - 1;
+	auto begPtr = word.begin( );
+	auto endPtr = begPtr + end;
+	string wordStem( word.begin( ), word.end( ) );
+
+	auto substrATIONAL = findPrev( "ational", endPtr, begPtr + word.size( ) - 8 );
+	auto substrTIONAL = findPrev( "tional", endPtr, begPtr + word.size( ) - 7 );
+	auto substrENCI = findPrev( "enci", endPtr, begPtr + word.size( ) - 5 );
+	auto substrANCI = findPrev( "anci", endPtr, begPtr + word.size( ) - 5 );
+	auto substrIZER = findPrev( "izer", endPtr, begPtr + word.size( ) - 5 );
+	auto substrABLI = findPrev( "abli", endPtr, begPtr + word.size( ) - 5 );
+	auto substrALLI = findPrev( "alli", endPtr, begPtr + word.size( ) - 5 );
+	auto substrENTLI = findPrev( "entli", endPtr, begPtr + word.size( ) - 6 );
+	auto substrELI = findPrev( "eli", endPtr, begPtr + word.size( ) - 4 );
+	auto substrOUSLI = findPrev( "ousli", endPtr, begPtr + word.size( ) - 6 );
+	auto substrIZATION = findPrev( "ization", endPtr, begPtr + word.size( ) - 8 );
+	auto substrATION = findPrev( "ation", endPtr, begPtr + word.size( ) - 6 );
+	auto substrATOR = findPrev( "ator", endPtr, begPtr + word.size( ) - 5 );
+	auto substrALISM = findPrev( "alism", endPtr, begPtr + word.size( ) - 6 );
+	auto substrIVENESS = findPrev( "iveness", endPtr, begPtr + word.size( ) - 8 );
+	auto substrFULNESS = findPrev( "fulness", endPtr, begPtr + word.size( ) - 8 );
+	auto substrOUSNESS = findPrev( "ousness", endPtr, begPtr + word.size( ) - 8 );
+	auto substrALITI = findPrev( "aliti", endPtr, begPtr + word.size( ) - 6 );
+	auto substrIVITI = findPrev( "iviti", endPtr, begPtr + word.size( ) - 6 );
+	auto substrBILITI = findPrev( "biliti", endPtr, begPtr + word.size( ) - 7 );
+
+	// ATIONAL -> ATE
+	// relational -> relate
+	if ( *substrATIONAL != '\0' && ( begPtr + 1 ) != substrATIONAL )
+		{
+		wordStem = subStr( word.begin( ), substrATIONAL );
+		wordStem += "ate";
+		}
+		// TIONAL -> TION
+		// conditional -> condition
+		// rational -> rational
+	else if ( *substrTIONAL != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrTIONAL );
+		wordStem += "tion";
+		}
+		// ENCI -> ENCE
+		// valenci -> valence
+	else if ( *substrENCI != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrENCI );
+		wordStem += "ence";
+		}
+		// ANCI -> ANCE
+		// hesitanci ->	hesitance
+	else if ( *substrANCI != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrANCI );
+		wordStem += "ance";
+		}
+		// IZER -> IZE
+		// digitizer -> digitize
+	else if ( *substrIZER != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrIZER );
+		wordStem += "ize";
+		}
+		// ABLI -> ABLE
+		// conformabli -> comformable
+	else if ( *substrABLI != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrABLI );
+		wordStem += "able";
+		}
+		// ALLI -> AL
+		// radicalli -> radical
+	else if ( *substrALLI != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrALLI );
+		wordStem += "al";
+		}
+		// ENTLI -> ENT
+		// differentli -> different
+	else if ( *substrENTLI != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrENTLI );
+		wordStem += "ent";
+		}
+		// ELI -> E
+		// vileli -> vile
+	else if ( *substrELI != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrELI );
+		wordStem += 'e';
+		}
+		// OUSLI -> OUS
+		// analogousli	->	analogous
+	else if ( *substrOUSLI != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrOUSLI );
+		wordStem += "ous";
+		}
+		// IZATION -> IZE
+		// vietnamization	->	vietnamize
+	else if ( *substrIZATION != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrIZATION );
+		wordStem += "ize";
+		}
+		// ATION -> ATE
+		// predication	->	predicate
+	else if ( *substrATION != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrATION );
+		wordStem += "ate";
+		}
+		// ATOR -> ATE
+		// predication	->	predicate
+	else if ( *substrATOR != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrATOR );
+		wordStem += "ate";
+		}
+		// ALISM -> AL
+		// feudalism -> feudal
+	else if ( *substrALISM != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrALISM );
+		wordStem += "al";
+		}
+		// IVENESS -> IVE
+		// decisivenss	->	decisive
+	else if ( *substrIVENESS != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrIVENESS );
+		wordStem += "ive";
+		}
+		// FULNESS -> FUL
+		// hopefulness	->	hopeful
+	else if ( *substrFULNESS != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrFULNESS );
+		wordStem += "ful";
+		}
+		// OUSNESS -> OUS
+		// callousness	->	callous
+	else if ( *substrOUSNESS != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrOUSNESS );
+		wordStem += "ous";
+		}
+		// ALITI -> AL
+		// formalit	->	callous
+	else if ( *substrOUSNESS != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrOUSNESS );
+		wordStem += "al";
+		}
+		// IVITI -> IVE
+		// sensitiviti	->	sensitive
+	else if ( *substrIVITI != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrIVITI );
+		wordStem += "ive";
+		}
+		// BILITI -> BLE
+		// sensibiliti	->	sensible
+	else if ( *substrBILITI != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrBILITI );
+		wordStem += "ble";
+		}
+
+	return wordStem;
+	}
+
+/**
+ * Step 3
+ *
+ * @param word
+ * @return
+ */
+std::string Stemmer::step3 ( std::string word )
+	{
+
+	if ( measure( word ) == 0 )
+		{
+		return word;
+		}
+
+	unsigned long end = word.size( ) - 1;
+	auto begPtr = word.begin( );
+	auto endPtr = begPtr + end;
+	string wordStem( word.begin( ), word.end( ) );
+
+	auto substrICATE = findPrev( "icate", endPtr, begPtr + word.size( ) - 6 );
+	auto substrATIVE = findPrev( "ative", endPtr, begPtr + word.size( ) - 6 );
+	auto substrALIZE = findPrev( "alize", endPtr, begPtr + word.size( ) - 6 );
+	auto substrICITI = findPrev( "iciti", endPtr, begPtr + word.size( ) - 6 );
+	auto substrICAL = findPrev( "ical", endPtr, begPtr + word.size( ) - 4 );
+	auto substrFUL = findPrev( "ful", endPtr, begPtr + word.size( ) - 4 );
+	auto substrNESS = findPrev( "ness", endPtr, begPtr + word.size( ) - 5 );
+
+	// ICATE -> IC
+	// triplicate -> triplic
+	if ( *substrICATE != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrICATE );
+		wordStem += "ic";
+		}
+		// ATIVE ->
+		// formative -> form
+	else if ( *substrATIVE != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrATIVE );
+		}
+		// ALIZE -> AL
+		// formalize -> formal
+	else if ( *substrALIZE != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrALIZE );
+		wordStem += "al";
+		}
+		// ICITI -> IC
+		// electriciti ->	electric
+	else if ( *substrICITI != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrICITI );
+		wordStem += "ic";
+		}
+		// ICAL -> IC
+		// electrical -> electric
+	else if ( *substrICAL != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrICAL );
+		wordStem += "ic";
+		}
+		// FUL ->
+		// hopeful -> hope
+	else if ( *substrFUL != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrFUL );
+		}
+		// NESS ->
+		// goodness -> good
+	else if ( *substrNESS != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrNESS );
+		}
+
+	return wordStem;
+	}
+
+/**
+ * Step 4
+ *
+ * @param word
+ * @return
+ */
+std::string Stemmer::step4 ( std::string word )
+	{
+	if ( measure( word ) <= 2 )
+		{
+		return word;
+		}
+
+	unsigned long end = word.size( ) - 1;
+	auto begPtr = word.begin( );
+	auto endPtr = begPtr + end;
+	string wordStem( word.begin( ), word.end( ) );
+
+
+	auto substrAL = findPrev( "al", endPtr, begPtr + word.size( ) - 3 );
+	auto substrANCE = findPrev( "ance", endPtr, begPtr + word.size( ) - 5 );
+	auto substrENCE = findPrev( "ence", endPtr, begPtr + word.size( ) - 5 );
+	auto substrER = findPrev( "er", endPtr, begPtr + word.size( ) - 3 );
+	auto substrIC = findPrev( "ic", endPtr, begPtr + word.size( ) - 3 );
+	auto substrABLE = findPrev( "able", endPtr, begPtr + word.size( ) - 5 );
+	auto substrIBLE = findPrev( "ible", endPtr, begPtr + word.size( ) - 5 );
+	auto substrANT = findPrev( "ant", endPtr, begPtr + word.size( ) - 4 );
+	auto substrEMENT = findPrev( "ement", endPtr, begPtr + word.size( ) - 6 );
+	auto substrMENT = findPrev( "ment", endPtr, begPtr + word.size( ) - 5 );
+	auto substrENT = findPrev( "ent", endPtr, begPtr + word.size( ) - 4 );
+	auto substrION = findPrev( "ion", endPtr, begPtr + word.size( ) - 4 );
+	auto substrOU = findPrev( "ou", endPtr, begPtr + word.size( ) - 3 );
+	auto substrISM = findPrev( "ism", endPtr, begPtr + word.size( ) - 4 );
+	auto substrATE = findPrev( "ate", endPtr, begPtr + word.size( ) - 4 );
+	auto substrITI = findPrev( "iti", endPtr, begPtr + word.size( ) - 4 );
+	auto substrOUS = findPrev( "ous", endPtr, begPtr + word.size( ) - 4 );
+	auto substrIVE = findPrev( "ive", endPtr, begPtr + word.size( ) - 4 );
+	auto substrIZE = findPrev( "ize", endPtr, begPtr + word.size( ) - 4 );
+
+	// AL ->
+	// revival -> reviv
+	if ( *substrAL != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrAL );
+		}
+		// ANCE ->
+		// allowance -> allow
+	else if ( *substrANCE != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrANCE );
+		}
+		// ENCE ->
+		// inference -> infer
+	else if ( *substrENCE != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrENCE );
+		}
+		// ER ->
+		// airliner ->	airlin
+	else if ( *substrER != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrER );
+		}
+		// IC ->
+		// gyroscopic -> gyroscope
+	else if ( *substrIC != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrIC );
+		}
+		// ABLE ->
+		// adjustable -> adjust
+	else if ( *substrABLE != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrABLE );
+		}
+		// IBLE ->
+		// goodness -> good
+	else if ( *substrIBLE != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrIBLE );
+		}
+		// ANT ->
+		// irritant -> irrit
+	else if ( *substrANT != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrANT );
+		}
+		// EMENT ->
+		// replacement -> replace
+	else if ( *substrEMENT != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrEMENT );
+		}
+		// MENT ->
+		// adjustment -> adjust
+	else if ( *substrMENT != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrMENT );
+		}
+		// ENT ->
+		// dependent -> depend
+	else if ( *substrENT != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrENT );
+		}
+		// TION ->
+		// stem must end in 't' or 's'
+		// adoption -> adopt
+	else if ( *substrION != '\0' && ( *( substrION - 1 ) == 's' || *( substrION - 1 ) == 't' ) )
+		{
+		wordStem = subStr( word.begin( ), substrION );
+		}
+		// OU ->
+		// homologou -> homolog
+	else if ( *substrOU != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrOU );
+		}
+		// ISM ->
+		// communism -> commun
+	else if ( *substrISM != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrISM );
+		}
+		// ATE ->
+		// activate -> activ
+	else if ( *substrATE != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrATE );
+		}
+		// ITI ->
+		// angulariti -> angular
+	else if ( *substrITI != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrITI );
+		}
+		// OUS ->
+		// homologous -> homolog
+	else if ( *substrOUS != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrOUS );
+		}
+		// IVE ->
+		// effective -> effect
+	else if ( *substrIVE != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrIVE );
+		}
+		// IZE ->
+		// bowdlerize -> bowdler
+	else if ( *substrIZE != '\0' )
+		{
+		wordStem = subStr( word.begin( ), substrIZE );
+		}
+	return wordStem;
+
+	}
+
+/**
+ * Step 5a
+ *
+ * @param word
+ * @return
+ */
+std::string Stemmer::step5a ( std::string word )
+	{
+	unsigned long end = word.size( ) - 1;
+	auto endPtr = word.begin( ) + end;
+
+	// E ->
+	// probabte -> probat
+	if ( measure( word ) > 1 && *endPtr == 'e' )
+		{
+		word = subStr( word, 0, word.size( ) - 1 );
+		return word;
+		}
+	// E ->
+	// cease -> cease
+	if ( measure( word ) == 1 && !endCVC( word ) && *endPtr == 'e' )
+		{
+		word = subStr( word, 0, word.size( ) - 1 );
+		}
+	return word;
+
+	}
+
+/**
+ * Step 5b
+ *
+ * @param word
+ * @return
+ */
+std::string Stemmer::step5b ( std::string word )
+	{
+	unsigned long end = word.size( ) - 1;
+	auto endPtr = word.begin( ) + end;
+
+	if ( word.size( ) > 2 && measure( word ) > 1 && *endPtr == 'l' && *( endPtr - 1 ) == 'l' )
+		{
+		word = subStr( word, 0, word.size( ) - 1 );
+		}
+	return word;
+	}
\ No newline at end of file
diff --git a/util/Stemmer.h b/util/Stemmer.h
index 4acbf35bb41d4b3ca1afe3cb056908152e71a553..354b54ecfe680348f16b3b509286dd392776a7c0 100644
--- a/util/Stemmer.h
+++ b/util/Stemmer.h
@@ -1,12 +1,153 @@
-//
-// Created by Veronica Day on 2/22/18.
-//
-
 
 #pragma once
 
+#include <string>
+#include "stringProcessing.h"
+
+/**
+ * Modeled after the Porter Stemmer algorithm
+ * http://snowball.tartarus.org/algorithms/porter/stemmer.html
+ */
 class Stemmer
 	{
+public:
+
+	/**
+	 * Stemmer Cstor
+	 */
+	Stemmer ( );
+
+	/**
+	 * Returns the stem of a word
+	 *
+	 * @param word
+	 * @return
+	 */
+	std::string execute ( std::string word );
+
+private:
+
+	/**
+	 * Number of consonant sequences
+	 *
+	 * <c><v>       -> 0
+	 * <c>vc<v>  	 -> 1
+	 * <c>vcvc<v>   -> 2
+	 * <c>vcvcvc<v> -> 3
+	 *
+	 * @param word
+	 * @return
+	 */
+	int measure ( std::string word );
+
+	/**
+	 * Check if a vowel is present in the stem
+	 *
+	 * @param wordBeg
+	 * @param wordEnd
+	 * @param word
+	 * @return
+	 */
+	bool isVowelPresent ( string::iterator wordBeg, string::iterator wordEnd, string word );
+
+	/**
+	 * Return true if the wordIt points to a consonant
+	 *
+	 * @param wordIt
+	 * @param wordBegin
+	 * @return
+	 */
+	bool isConsonant ( string::iterator wordIt, string::iterator wordBegin );
+
+	/**
+	 * Returns true if should add 'e' to end
+	 *
+	 * @param word
+	 * @return
+	 */
+	bool addE ( string word );
+
+	/**
+	 * Returns true if word ends in double constant
+	 * Not LL, SS, ZZ
+	 * @param word
+	 * @return
+	 */
+	bool doubleCon ( string word );
+
+	/**
+	 * Returns true if a word ends in a
+	 * Consonant, Vowel, Consonant pattern
+	 * Except when second C is W, X, or Y
+	 *
+	 * @param word
+	 * @return
+	 */
+	bool endCVC ( std::string word );
+
+	/**
+	 * Stem plural words
+	 *
+	 * @param word
+	 * @return
+	 */
+	std::string step1a ( std::string word );
+
+	/**
+	 * Stem ED and ING
+	 *
+	 * @param word
+	 * @return
+	 */
+	std::string step1b ( std::string word );
+
+	/**
+	 * Checks for Y -> I
+	 *
+	 * @param word
+	 * @return
+	 */
+	string step1c ( string word );
+
+	/**
+	 * Step 2
+	 *
+	 * @param word
+	 * @return
+	 */
+	string step2 ( std::string word );
+
+	/**
+	 * Step 3
+	 *
+	 * @param word
+	 * @return
+	 */
+	std::string step3 ( std::string word );
+
+	/**
+	 * Step 4
+	 *
+	 * @param word
+	 * @return
+	 */
+	std::string step4 ( std::string word );
+
+	/**
+	 * Step 5a
+	 *
+	 * @param word
+	 * @return
+	 */
+	std::string step5a ( std::string word );
+
+	/**
+	 * Step 5b
+	 *
+	 * @param word
+	 * @return
+	 */
+	std::string step5b ( std::string word );
 
 	};
 
diff --git a/util/Tokenizer.cpp b/util/Tokenizer.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..477bc4b9dba0d2e5025a96c8e8092d3c55860b08
--- /dev/null
+++ b/util/Tokenizer.cpp
@@ -0,0 +1,49 @@
+
+#include "Tokenizer.h"
+
+/**
+ * Tokenizer Cstor
+ */
+Tokenizer::Tokenizer ( )
+	{
+	docIndex = new unordered_map< string, vector< int>>;
+	}
+
+/**
+ * Returns pointer to the docIndex dictionary
+ *
+ * @return pointer to unordered_map< string, vector< int>>
+ */
+unordered_map< string, vector< int>> *Tokenizer::get ( ) const
+	{
+	return docIndex;
+	}
+
+/**
+ * Executes the Tokenizer
+ * Sends tokens to dictionary
+ *
+ * token -> [offsets]
+ * @param originalText
+ * @param offset
+ */
+void Tokenizer::execute ( string & originalText, int offset )
+	{
+	vector< string > splitText = splitStr( originalText, ' ' );
+	string processedString = "";
+	for ( int i = 0; i < splitText.size( ); ++i )
+		{
+		// case fold
+		processedString = toLower( splitText[ i ] );
+		//strip all characters
+		processedString = stripStr( processedString );
+
+		if ( !isStopWord( processedString ) )
+			{
+			// stem word
+			processedString = stem.execute( processedString );
+			( *docIndex )[ processedString ].push_back( offset );
+			++offset;
+			}
+		}
+	}
diff --git a/util/Tokenizer.h b/util/Tokenizer.h
index cb06ba2332ff500ac127bca4d044af24289a60d4..bccbcfaf23c7c9f19de168550ff57052696caa53 100644
--- a/util/Tokenizer.h
+++ b/util/Tokenizer.h
@@ -1,42 +1,41 @@
-//
-// Created by anvia on 1/31/2018.
-//
+
 #pragma once
 #include <string>
 #include <unordered_map>
 #include <vector>
 #include "stringProcessing.h"
+#include "Stemmer.h"
 
 using namespace std;
 
 class Tokenizer
 	{
-	public:
-		Tokenizer ( )
-			{
-			docIndex = new unordered_map< string, vector< int>>;
-			}
-
-		unordered_map< string, vector< int>> *get ( ) const
-			{
-			return docIndex;
-			}
-
-		void execute ( string originalText, int offset )
-			{
-			vector< string > splitText = splitStr ( originalText, ' ' );
-			string lowerString = "";
-			for ( int i = 0; i < splitText.size ( ); ++i )
-				{
-				lowerString = toLower ( splitText[ i ] );
-				if ( !isStopWord ( lowerString ) )
-					{
-					( *docIndex )[ lowerString ].push_back ( offset );
-					++offset;
-					}
-				}
-			}
+
+public:
+
+	/**
+ 	* Tokenizer Cstor
+ 	*/
+	Tokenizer ( );
+
+	/**
+ 	* Returns pointer to the docIndex dictionary
+	 *
+ 	* @return pointer to unordered_map< string, vector< int>>
+ 	*/
+	unordered_map< string, vector< int>> *get ( ) const;
+
+	/**
+	 * Executes the Tokenizer
+	 * Sends tokens to dictionary
+	 *
+	 * token -> [offsets]
+	 * @param originalText
+	 * @param offset
+	 */
+	void execute ( string &originalText, int offset );
 
 	private:
 		unordered_map< string, vector< int>> *docIndex;
+		Stemmer stem;
 	};
diff --git a/util/stringProcessing.cpp b/util/stringProcessing.cpp
index d7005bb6c01587e54d33bfb5628f9120ace2b3db..3b4d5366828dfd2263a46c4a2af792813410b2a8 100644
--- a/util/stringProcessing.cpp
+++ b/util/stringProcessing.cpp
@@ -3,158 +3,380 @@
 //
 
 #include "stringProcessing.h"
+#include "Stemmer.h"
+#include <cassert>
 
 using namespace std;
 
-
-string::iterator findStr (string needle, string haystack )
+/**
+ * Finds the needle in the haystack
+ * returns position of first match
+ *
+ * @param haystack
+ * @param needle
+ * @return string::iterator
+ */
+string::iterator findStr ( string needle, string haystack )
 	{
 
-	auto beginNeedle = needle.begin ( );
-	auto beginHaystack = haystack.begin();
+	auto beginNeedle = needle.begin( );
+	auto beginHaystack = haystack.begin( );
 
 	while ( *beginHaystack != '\0' )
-	{
+		{
 		//keep looking for instance of a match
 		if ( *beginHaystack != *beginNeedle )
-		{
+			{
 			++beginHaystack;
-		}
+			}
 
 		else if ( *beginHaystack == *beginNeedle )
-		{
+			{
 			/* want to keep the original iterator where it is so it
 				can return the beginning of the matched word if found */
 			auto temp = beginHaystack;
 			while ( *temp == *beginNeedle )
-			{
+				{
 				++temp;
 				++beginNeedle;
 				//if it hits the end of the needleing, it signifies an exact match
 				if ( *beginNeedle == '\0' )
-				{
+					{
 					//this is pointing at the beginning of the match
 					return beginHaystack;
-				}
+					}
 
-			}
+				}
 			//need to reset because still has to search rest of the string for a match
-			beginNeedle = needle.begin ( );
+			beginNeedle = needle.begin( );
 			//sets the original text pointer to where the last search left off
 			beginHaystack = temp;
-		}
+			}
 
 		else
-		{
+			{
 			//DO NOTHING
+			}
 		}
-	}
 
 	return beginHaystack;
 
 	}
 
-
-string::iterator findNext (string needle, string::iterator haystackPointer )
+/**
+ * Finds the next position of the needle in the string
+ *
+ * @param needle
+ * @param pointer
+ * @return string::iterator
+ */
+string::iterator findNext ( string needle, string::iterator haystackPointer )
 	{
-	auto beginNeedle = needle.begin ( );
-	auto beginHaystack = haystackPointer;
-	while ( *beginHaystack != '\0' )
-	{
-		//keep looking for instance of a match
-		if ( *beginHaystack != *beginNeedle )
+	auto beginNeedle = needle.begin( );
+	while ( *haystackPointer != '\0' )
 		{
-			++beginHaystack;
-		}
+		//keep looking for instance of a match
+		if ( *haystackPointer != *beginNeedle )
+			{
+			++haystackPointer;
+			}
 
-		else if ( *beginHaystack == *beginNeedle )
-		{
+		else if ( *haystackPointer == *beginNeedle )
+			{
 			/* want to keep the original iterator where it is so it
 				can return the beginning of the matched word if found */
-			auto temp = beginHaystack;
+			auto temp = haystackPointer;
 			while ( *temp == *beginNeedle )
-			{
+				{
 				++temp;
 				++beginNeedle;
 				//if it hits the end of the needleing, it signifies an exact match
 				if ( *beginNeedle == '\0' )
-				{
+					{
 					//this is pointing at the beginning of the match
-					return beginHaystack;
-				}
+					return haystackPointer;
+					}
 
-			}
+				}
 			//need to reset because still has to search rest of the string for a match
-			beginNeedle = needle.begin ( );
+			beginNeedle = needle.begin( );
 			//sets the original text pointer to where the last search left off
-			beginHaystack = temp;
-		}
+			haystackPointer = temp;
+			}
 
 		else
-		{
+			{
 			//DO NOTHING
+			}
 		}
-	}
 
-	return beginHaystack;
+	return haystackPointer;
 	}
 
+/**
+ * Finds the previous position of the needle in the string
+ *
+ * @param needle
+ * @param haystackPointer
+ * @return string::iterator
+ */
+string::iterator findPrev ( string needle, string::iterator haystackPointer, string::iterator haystackBeg )
+	{
+	auto begNeedle = needle.begin( );
+	auto endNeedle = begNeedle + ( needle.size( ) - 1 );
 
+	while ( haystackPointer != haystackBeg )
+		{
+		//keep looking for instance of a match
+		if ( *haystackPointer != *endNeedle )
+			{
+			--haystackPointer;
+			}
+
+		else if ( *haystackPointer == *endNeedle )
+			{
+			/* want to keep the original iterator where it is so it
+				can return the beginning of the matched word if found */
+			auto temp = haystackPointer;
+			while ( *temp == *endNeedle )
+				{
+				//if it hits the end of the needleing, it signifies an exact match
+				if ( endNeedle == begNeedle && *temp == *endNeedle )
+					{
+					//this is pointing at the beginning of the match
+					return temp;
+					}
+
+				if ( temp != haystackBeg )
+					{
+					--temp;
+					}
+				if ( endNeedle != begNeedle )
+					{
+					--endNeedle;
+					}
 
-vector< string > splitStr ( string originalText, char delim )
+				}
+			//need to reset because still has to search rest of the string for a match
+			endNeedle = begNeedle + ( needle.size( ) - 1 );
+			//sets the original text pointer to where the last search left off
+			haystackPointer = temp;
+			}
+
+		else
+			{
+			//DO NOTHING
+			}
+		}
+
+	return needle.end( );
+	}
+
+/**
+ * Returns a vector of strings from @originalText, split by @delim
+ *
+ * @param originalText
+ * @param delim
+ * @return vector < string >
+ */
+vector< string > splitStr ( string & originalText, char delim )
 	{
 	vector< string > splitWords;
-	auto begin = originalText.begin ( );
+	auto begin = originalText.begin( );
 
 	while ( *begin != '\0' )
-	{
+		{
 		string word = "";
 		while ( *begin != delim && *begin != '\0' )
-		{
+			{
 			word += *begin;
 			++begin;
-		}
+			}
 
-		splitWords.push_back ( word );
+		splitWords.push_back( word );
 		++begin;
-	}
+		}
 
 	return splitWords;
 
 	}
 
-
-bool isStopWord ( string word )
+/**
+ * Returns true if @word is a stopword
+ *
+ * @param word
+ * @return bool
+ */
+bool isStopWord ( string & word )
 	{
-	return ( stopWords.find ( word ) != stopWords.end ( ) );
+	return ( stopWords.find( word ) != stopWords.end( ) );
 
 	}
 
-
-string toLower ( string word )
+/**
+ * Returns lowercase @word
+ *
+ * @param word
+ * @return string
+ */
+string toLower ( string & word )
 	{
-	auto iter = word.begin ( );
+	auto iter = word.begin( );
 	string lowerWord = "";
 	while ( *iter != '\0' )
-	{
-		if ( *iter >= 'A' && *iter <= 'Z' )
 		{
+		if ( *iter >= 'A' && *iter <= 'Z' )
+			{
 			lowerWord += ( *iter + 32 );
-		}
+			}
 
 		else
-		{
+			{
 			lowerWord += *iter;
-		}
+			}
 		++iter;
-	}
+		}
 
 	return lowerWord;
 	}
 
+/**
+ * Returns stemmed @word
+ *
+ * @param word
+ * @return string
+ */
+string stemWord ( string & word )
+	{
+	Stemmer stemmer;
+	word = stemmer.execute( word );
+	return word;
+	}
 
+/**
+ * Returns a substring [ post, len )
+ *
+ * @param word
+ * @param pos
+ * @param len
+ * @return string
+ */
+string subStr ( string & word, size_t pos, size_t len )
+	{
+	string substr = "";
+	for ( int i = 0; i < len; ++i )
+		{
+		substr += word.at( pos );
+		++pos;
+		}
+	return substr;
+	}
 
-string stemWord(string word)
+/**
+ * Returns a substring [ begin, end )
+ *
+ * @param pos
+ * @param len
+ * @return string
+ */
+string subStr ( string::iterator begin, string::iterator end )
 	{
-	return "";
+	string substr = "";
+	while ( begin != end )
+		{
+		substr += *begin;
+		++begin;
+		}
+	return substr;
+	}
+
+/**
+ * Removes the chars in vector from word
+ *
+ * @param word
+ * @param chars
+ * @return string
+ */
+string stripStr ( string & word, vector< char > chars )
+	{
+	string wordStripped = "";
+	auto begin = word.begin( );
+	bool isSymbol = false;
+
+	while ( begin != word.end( ) )
+		{
+		for ( int i = 0; i < chars.size( ); ++i )
+			{
+			if ( *begin == chars[ i ] )
+				{
+				isSymbol = true;
+				}
+			}
+		if ( !isSymbol )
+			{
+			wordStripped += *begin;
+			}
+		++begin;
+		}
+	return wordStripped;
+	}
+
+/**
+ * Removes all chars from word
+ * Assumes word is lowercase
+ *
+ * @param word
+ * @param chars
+ * @return string
+ */
+string stripStr ( string & word )
+	{
+	string wordStripped = "";
+	auto begin = word.begin( );
+
+	while ( begin != word.end( ) )
+		{
+		if ( isAlpha( *begin ) || isNum( *begin ) )
+			{
+			wordStripped += *begin;
+			}
+		++begin;
+		}
+	return wordStripped;
 	}
+
+/**
+ * Returns true is character is a letter
+ *
+ * @param ch
+ * @return bool
+ */
+bool isAlpha ( char ch )
+	{
+	// capital letter
+	if ( ch >= 'A' && ch <= 'Z' )
+		{
+		return true;
+		}
+	// lowercase letter
+	if ( ch >= 'a' && ch <= 'z' )
+		{
+		return true;
+		}
+	return false;
+	}
+
+/**
+ * Returns true is character is a number
+ *
+ * @param ch
+ * @return bool
+ */
+bool isNum ( char ch )
+	{
+	if ( ch >= '0' && ch <= '9' )
+		{
+		return true;
+		}
+	return false;
+	}
\ No newline at end of file
diff --git a/util/stringProcessing.h b/util/stringProcessing.h
index 106a3d3352089c52d8658735196041fe897d542e..c3e6a7c10eb9a0cae3060761c8e99b215af8100c 100644
--- a/util/stringProcessing.h
+++ b/util/stringProcessing.h
@@ -14,57 +14,127 @@ using namespace std;
 /**
  * Set of stopwords
  */
+static set< string > stopWords = { "a", "all", "an", "and", "any", "are", "as", "at", "be", "been", "but", "by", "few",
+                                   "from",
+                                   "for", "have", "he", "her", "here", "him", "his", "how",
+                                   "i", "in", "is", "it", "its", "many ", "me", "my", "none", "of", "on", "or", "our",
+                                   "she",
+                                   "some", "the", "their", "them", "there", "they", "that",
+                                   "this", "to", "us", "was", "what", "when", "where", "which", "who", "why", "will",
+                                   "with",
+                                   "you", "your" };
 
-
- static set< string > stopWords = { "a", "all", "an", "and", "any", "are", "as", "at", "be", "been", "but", "by", "few", "from",
-                            "for", "have", "he", "her", "here", "him", "his", "how",
-                            "i", "in", "is", "it", "its", "many ", "me", "my", "none", "of", "on", "or", "our", "she",
-                            "some", "the", "their", "them", "there", "they", "that",
-                            "this", "to", "us", "was", "what", "when", "where", "which", "who", "why", "will", "with",
-                            "you", "your" };
 /**
  * Finds the needle in the haystack
  * returns position of first match
+ *
  * @param haystack
  * @param needle
  * @return string::iterator
  */
-string::iterator findStr (string needle, string haystack );
+string::iterator findStr ( string needle, string haystack );
 
 /**
  * Finds the next position of the needle in the string
+ *
  * @param needle
  * @param pointer
  * @return string::iterator
  */
-string::iterator findNext (string needle, string::iterator haystackPointer );
+string::iterator findNext ( string needle, string::iterator haystackPointer );
 
+/**
+ * Finds the previous position of the needle in the string
+ *
+ * @param needle
+ * @param haystackPointer
+ * @param haystackBeg
+ * @return string::iterator
+ */
+string::iterator findPrev ( string needle, string::iterator haystackPointer, string::iterator haystackBeg );
 
 /**
  * Returns a vector of strings from @originalText, split by @delim
+ *
  * @param originalText
  * @param delim
- * @return
+ * @return vector< string >
  */
-vector< string > splitStr ( string originalText, char delim );
+vector< string > splitStr ( string & originalText, char delim );
+
 /**
  * Returns true if @word is a stopword
+ *
  * @param word
- * @return
+ * @return bool
  */
-bool isStopWord ( string word );
+bool isStopWord ( string & word );
+
 /**
  * Returns lowercase @word
+ *
  * @param word
- * @return
+ * @return string
  */
-string toLower ( string word );
+string toLower ( string & word );
 
-//TODO
 /**
  * Returns stemmed @word
+ *
  * @param word
- * @return
+ * @return string
+ */
+string stemWord ( string & word );
+
+/**
+ * Returns a substring [ post, len )
+ *
+ * @param word
+ * @param pos
+ * @param len
+ * @return string
+ */
+string subStr ( string & word, size_t pos, size_t len );
+
+/**
+ * Returns a substring [ begin, end )
+ *
+ * @param pos
+ * @param len
+ * @return string
  */
-string stemWord(string word);
+string subStr ( string::iterator begin, string::iterator end );
 
+/**
+ * Removes the chars in vector from word
+ *
+ * @param word
+ * @param chars
+ * @return string
+ */
+string stripStr ( string & word, vector< char > chars );
+
+/**
+ * Removes all chars from word
+ * Assumes word is lowercase
+ *
+ * @param word
+ * @return string
+ */
+string stripStr ( string & word );
+
+/**
+ * Returns true is character is a letter
+ *
+ * @param ch
+ * @return bool
+ */
+bool isAlpha ( char ch );
+
+/**
+ * Returns true is character is a number
+ *
+ * @param ch
+ * @return bool
+ */
+bool isNum ( char ch );
\ No newline at end of file
diff --git a/util/tests/stemmerTest.cpp b/util/tests/stemmerTest.cpp
index f942e1a5f50d386c5b46084c891c94372295b9c7..c49415b87a47bd2cf09d7056b1888ec7db828a6b 100644
--- a/util/tests/stemmerTest.cpp
+++ b/util/tests/stemmerTest.cpp
@@ -1,4 +1,117 @@
-//
-// Created by Veronica Day on 2/22/18.
-//
+
+#include <string>
+#include <vector>
+#include "../Stemmer.h"
+#include <iostream>
+#include <cassert>
+
+int main ( )
+	{
+
+	cout << "Beginning testing for Stemmer" << endl;
+
+	Stemmer stem;
+
+	assert ( stem.execute( "caresses" ) == "caress" );
+	assert ( stem.execute( "ponies" ) == "poni" );
+	assert ( stem.execute( "ties" ) == "ti" );
+	assert ( stem.execute( "caress" ) == "caress" );
+	assert ( stem.execute( "cats" ) == "cat" );
+	assert ( stem.execute( "feed" ) == "feed" );
+
+	assert ( stem.execute( "agreed" ) == "agre" );
+	assert ( stem.execute( "plastered" ) == "plaster" );
+	assert ( stem.execute( "bled" ) == "bled" );
+	assert ( stem.execute( "motoring" ) == "motor" );
+	assert ( stem.execute( "conflated" ) == "conflat" );
+
+	assert ( stem.execute( "troubled" ) == "troubl" );
+	assert ( stem.execute( "sized" ) == "size" );
+	assert ( stem.execute( "hopping" ) == "hop" );
+	assert ( stem.execute( "tanning" ) == "tan" );
+	assert ( stem.execute( "tanned" ) == "tan" );
+
+	assert ( stem.execute( "falling" ) == "fall" );
+	assert ( stem.execute( "hissing" ) == "hiss" );
+	assert ( stem.execute( "fizzed" ) == "fizz" );
+	assert ( stem.execute( "failing" ) == "fail" );
+	assert ( stem.execute( "filing" ) == "file" );
+
+	assert ( stem.execute( "happy" ) == "happi" );
+	assert ( stem.execute( "sky" ) == "sky" );
+	assert ( stem.execute( "relational" ) == "relat" );
+	assert ( stem.execute( "conditional" ) == "condit" );
+	assert ( stem.execute( "rational" ) == "ration" );
+
+	assert ( stem.execute( "valenci" ) == "valenc" );
+	assert ( stem.execute( "hesitanci" ) == "hesit" );
+	assert ( stem.execute( "digitizer" ) == "digit" );
+	assert ( stem.execute( "conformabli" ) == "conform" );
+	assert ( stem.execute( "radicalli" ) == "radic" );
+	assert ( stem.execute( "differentli" ) == "differ" );
+
+	assert ( stem.execute( "vileli" ) == "vile" );
+	assert ( stem.execute( "analogousli" ) == "analog" );
+	assert ( stem.execute( "vietnamization" ) == "vietnam" );
+	assert ( stem.execute( "predication" ) == "predic" );
+	assert ( stem.execute( "operator" ) == "oper" );
+	assert ( stem.execute( "feudalism" ) == "feudal" );
+
+	assert ( stem.execute( "decisiveness" ) == "decis" );
+	assert ( stem.execute( "hopefulness" ) == "hope" );
+	assert ( stem.execute( "callousness" ) == "callous" );
+	assert ( stem.execute( "formaliti" ) == "formal" );
+	assert ( stem.execute( "sensitiviti" ) == "sensit" );
+	assert ( stem.execute( "sensibiliti" ) == "sensibl" );
+
+	assert ( stem.execute( "triplicate" ) == "triplic" );
+	assert ( stem.execute( "formative" ) == "form" );
+	assert ( stem.execute( "formalize" ) == "formal" );
+	assert ( stem.execute( "electriciti" ) == "electr" );
+	assert ( stem.execute( "electrical" ) == "electr" );
+	assert ( stem.execute( "hopeful" ) == "hope" );
+
+	assert ( stem.execute( "goodness" ) == "good" );
+	assert ( stem.execute( "revival" ) == "reviv" );
+	assert ( stem.execute( "allowance" ) == "allow" );
+	assert ( stem.execute( "inference" ) == "infer" );
+
+	assert ( stem.execute( "airliner" ) == "airlin" );
+	assert ( stem.execute( "gyroscopic" ) == "gyroscop" );
+	assert ( stem.execute( "adjustable" ) == "adjust" );
+	assert ( stem.execute( "defensible" ) == "defens" );
+	assert ( stem.execute( "irritant" ) == "irrit" );
+	assert ( stem.execute( "replacement" ) == "replac" );
+	assert ( stem.execute( "adjustment" ) == "adjust" );
+	assert ( stem.execute( "dependent" ) == "depend" );
+
+	assert ( stem.execute( "adoption" ) == "adopt" );
+	assert ( stem.execute( "homologou" ) == "homolog" );
+	assert ( stem.execute( "communism" ) == "commun" );
+	assert ( stem.execute( "activate" ) == "activ" );
+	assert ( stem.execute( "angulariti" ) == "angular" );
+	assert ( stem.execute( "homologous" ) == "homolog" );
+	assert ( stem.execute( "effective" ) == "effect" );
+
+	assert ( stem.execute( "bowdlerize" ) == "bowdler" );
+	assert ( stem.execute( "probate" ) == "probat" );
+	assert ( stem.execute( "cease" ) == "ceas" );
+	assert ( stem.execute( "controll" ) == "control" );
+	assert ( stem.execute( "roll" ) == "roll" );
+	assert ( stem.execute( "university" ) == "univers" );
+	assert ( stem.execute( "example" ) == "exampl" );
+
+	assert ( stem.execute( "do" ) == "do" );
+	assert ( stem.execute( "you" ) == "you" );
+	assert ( stem.execute( "really" ) == "real" );
+	assert ( stem.execute( "weakness" ) == "weak" );
+	assert ( stem.execute( "yields" ) == "yield" );
+	assert ( stem.execute( "temptation" ) == "temptat" );
+	assert ( stem.execute( "are" ) == "ar" );
+	assert ( stem.execute( "terrible" ) == "terribl" );
+
+
+	cout << "\nTests passed for Stemmer :D" << endl;
+
+	}
 
diff --git a/util/tests/stringProcessingTest.cpp b/util/tests/stringProcessingTest.cpp
index ff020c76cc8ce88b6516a5b0d23a851cc317864e..c2fb6a34d2c4afaeeb1a72d543717cd686b72dfb 100644
--- a/util/tests/stringProcessingTest.cpp
+++ b/util/tests/stringProcessingTest.cpp
@@ -1,10 +1,8 @@
-//
-// Created by Veronica Day on 2/13/18.
-//
 
 #include <string>
 #include <vector>
 #include "../stringProcessing.h"
+#include "../Stemmer.h"
 #include <iostream>
 #include <cassert>
 
@@ -12,76 +10,163 @@ using namespace std;
 
 void testFindStr ( string original );
 
+void testFindNext ( );
+
+void testFindPrev ( );
+
 void testSplitStr ( string original );
 
+void testIsStopWord ( );
+
 void testToLower ( );
 
-void testIsStopWord ( );
+void testStemWord ( );
+
+void testSubStr ( );
+
+void testStripStr ( );
+
+void testIsAlpha ( );
+
+void testIsNum ( );
 
 int main ( )
 	{
 
-	cout << "Beginning testing for StringProcessing_unit" << endl << endl;
+	cout << "Beginning testing for StringProcessing" << endl << endl;
 
 	string original = "It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. "
 			"The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here',"
 			"making it look like readable English. ";
 
-	testFindStr ( original );
-	testSplitStr ( original );
-	testToLower ( );
-	testIsStopWord ( );
+	testFindStr( original );
+	testFindNext( );
+	testFindPrev( );
+	testSplitStr( original );
+	testIsStopWord( );
+	testToLower( );
+	testStemWord( );
+	testSubStr( );
+	testStripStr( );
+	testIsAlpha( );
+	testIsNum( );
 
-	cout << "\nTests passed for StringProcessing_unit :D" << endl;
+	cout << "\nTests passed for StringProcessing :D" << endl;
 
 	}
 
 void testFindStr ( string original )
 	{
 	cout << "Testing findStr..." << endl;
-	assert( *findStr ( original, "established" ) == 'e' );
-	assert( *findStr ( original, "Lorem Ipsum" ) == 'L' );
+	assert( *findStr( "established", original ) == 'e' );
+	assert( *findStr( "Lorem Ipsum", original ) == 'L' );
 
 	string title = "<title> This is a test </title>";
-	auto word = findStr ( title, "<title>" );
+	auto word = findStr( "<title>", title );
 	assert( *word == '<' );
-	auto titleIt = title.begin ( );
-	while ( word != title.end ( ) && titleIt != title.end ( ) )
+	auto titleIt = title.begin( );
+	while ( word != title.end( ) && titleIt != title.end( ) )
 		{
 		assert( *word == *titleIt );
 		++word;
 		++titleIt;
 		}
 
-	auto word1 = findStr ( title, "</title>" );
+	auto word1 = findStr( "</title>", title );
 	assert( *word1 == '<' && *( word1 + 1 ) == '/' );
-	assert( *findStr ( original, "</title>" ) == '\0' );
-	assert( *findStr ( original, "orange" ) == '\0' );
-	assert( *findStr ( "apple", "orange" ) == '\0' );
-	auto word2 = findStr ( "bigbird", "bird" );
+	assert( *findStr( "</title>", original ) == '\0' );
+	assert( *findStr( "orange", original ) == '\0' );
+	assert( *findStr( "orange", "apple" ) == '\0' );
+	auto word2 = findStr( "bird", "bigbird" );
 	assert( *word2 == 'b' && *( word2 + 1 ) == 'i' && *( word2 + 2 ) == 'r' );
 
-	cout << "testFindStr passed" << endl;
+	cout << "testFindStr passed" << endl << endl;
+
+	}
+
+void testFindNext ( )
+	{
+	cout << "Testing findNext..." << endl;
+
+	string racecar = "racecar";
+	string hello = "hello";
+	string blank = "";
+
+	assert ( *findNext( "race", racecar.begin( ) ) == 'r' );
+	assert ( *findNext( "race", racecar.begin( ) + 4 ) == '\0' );
+	assert ( *findNext( "car", racecar.begin( ) + 4 ) == 'c' );
+
+	assert ( *findNext( "hello", hello.begin( ) ) == 'h' );
+	assert ( *findNext( "ello", hello.begin( ) ) == 'e' );
+	assert ( *findNext( "ello", hello.begin( ) + 2 ) == '\0' );
+
+	assert ( *findNext( "", blank.begin( ) ) == '\0' );
+
+	cout << "testFindNext passed" << endl << endl;
 
 	}
 
+void testFindPrev ( )
+	{
+	cout << "Testing findPrev..." << endl;
+
+	string racecar = "racecar";
+	string hello = "hello";
+	string blank = "";
+
+	assert ( *findPrev( "race", racecar.begin( ), racecar.begin( ) ) == '\0' );
+	assert ( *findPrev( "race", racecar.begin( ) + 4, racecar.begin( ) ) == 'r' );
+	assert ( *findPrev( "car", racecar.begin( ) + 4, racecar.begin( ) ) == '\0' );
+	assert ( *findPrev( "car", racecar.begin( ) + 7, racecar.begin( ) ) == 'c' );
+
+	assert ( *findPrev( "hello", hello.begin( ), hello.begin( ) ) == '\0' );
+	assert ( *findPrev( "ello", hello.begin( ) + 3, hello.begin( ) ) == '\0' );
+	assert ( *findPrev( "ello", hello.begin( ) + 5, hello.begin( ) ) == 'e' );
+
+	assert ( *findPrev( "", blank.begin( ), blank.begin( ) ) == '\0' );
+
+	string fall = "fall";
+	assert ( *findPrev( "bl", fall.begin( ) + 3, fall.begin( ) ) == '\0' );
+
+	cout << "testFindPrev passed" << endl << endl;
+
+	}
 
 void testSplitStr ( string original )
 	{
 	cout << "Testing splitStr..." << endl;
 
-	vector< string > vec = splitStr ( original, ' ' );
-	assert( vec.size ( ) == 53 );
+	vector< string > vec = splitStr( original, ' ' );
+	assert( vec.size( ) == 53 );
 
 	string word = "hello\ngoodbye";
-	vec = splitStr ( word, '\n' );
-	assert( vec.size ( ) == 2 );
+	vec = splitStr( word, '\n' );
+	assert( vec.size( ) == 2 );
 	assert( vec[ 0 ] == "hello" && vec[ 1 ] == "goodbye" );
 
-	cout << "testSplitStr passed" << endl;
+	cout << "testSplitStr passed" << endl << endl;
 
 	}
 
+void testIsStopWord ( )
+	{
+	cout << "Testing isStopWord..." << endl;
+
+	string is = "is";
+	string hello = "Hello";
+	string none = "none";
+	string blank = "";
+	string blank2 = " ";
+
+	assert ( isStopWord( is ) );
+	assert ( !isStopWord( hello ) );
+	assert ( isStopWord( none ) );
+	assert ( !isStopWord( blank ) );
+	assert ( !isStopWord( blank2 ) );
+
+	cout << "testIsStopWord passed" << endl << endl;
+
+	}
 
 void testToLower ( )
 	{
@@ -93,11 +178,11 @@ void testToLower ( )
 	string word4 = "";
 	string word5 = " ";
 
-	string test = toLower ( word );
-	string test2 = toLower ( word2 );
-	string test3 = toLower ( word3 );
-	string test4 = toLower ( word4 );
-	string test5 = toLower ( word5 );
+	string test = toLower( word );
+	string test2 = toLower( word2 );
+	string test3 = toLower( word3 );
+	string test4 = toLower( word4 );
+	string test5 = toLower( word5 );
 
 	assert ( test == "hello" );
 	assert ( test2 == "hello" );
@@ -105,26 +190,144 @@ void testToLower ( )
 	assert ( test4 == "" );
 	assert ( test5 == " " );
 
-	cout << "testToLower passed" << endl;
+	cout << "testToLower passed" << endl << endl;
 	}
 
+void testStemWord ( )
+	{
+	cout << "Testing stemWord..." << endl;
+	Stemmer stem;
 
-void testIsStopWord ( )
+	assert ( stem.execute( "cats" ) == "cat" );
+	assert ( stem.execute( "wilde" ) == "wild" );
+	assert( stem.execute( "zoo" ) == "zoo" );
+	assert( stem.execute( "troublesome" ) == "troublesom" );
+
+	cout << "testStemWord passed" << endl << endl;
+	}
+
+void testSubStr ( )
 	{
-	cout << "Testing isStopWord..." << endl;
+	cout << "Testing subStr..." << endl;
 
-	string is = "is";
-	string hello = "Hello";
-	string none = "none";
-	string blank = "";
-	string blank2 = " ";
+	string hello = "hello";
+	string goodbye = "goodbye";
+	string blank = " ";
+	string blank2 = "";
+
+	assert ( subStr( hello, 1, 4 ) == "ello" );
+	assert ( subStr( hello, 0, 5 ) == "hello" );
+	assert ( subStr( hello, 0, 1 ) == "h" );
+	assert ( subStr( hello, 1, 2 ) == "el" );
+
+	assert ( subStr( goodbye, 0, 4 ) == "good" );
+	assert ( subStr( goodbye, 4, 3 ) == "bye" );
+	assert ( subStr( goodbye, 1, 0 ) == "" );
+	assert ( subStr( goodbye, 0, 7 ) == "goodbye" );
+
+	assert ( subStr( blank, 0, 1 ) == " " );
+	assert ( subStr( blank, 0, 0 ) == "" );
+	assert ( subStr( blank2, 0, 0 ) == "" );
+
+	assert ( subStr( hello.begin( ), hello.end( ) ) == "hello" );
+	assert ( subStr( hello.begin( ) + 4, hello.begin( ) + 5 ) == "o" );
+	assert ( subStr( hello.begin( ), hello.begin( ) + 1 ) == "h" );
+	assert ( subStr( goodbye.begin( ) + 1, goodbye.begin( ) + 3 ) == "oo" );
+
+
+	cout << "testSubStrpassed" << endl << endl;
 
-	assert ( isStopWord ( is ) );
-	assert ( !isStopWord ( hello ) );
-	assert ( isStopWord ( none ) );
-	assert ( !isStopWord ( blank ) );
-	assert ( !isStopWord ( blank2 ) );
+	}
+
+
+void testStripStr ( )
+	{
+	cout << "Testing stripStr..." << endl;
+
+	char arr[] = { ',', '.', '*', '&', '^', '%', ';', ' ' };
+	vector< char > chars( arr, arr + sizeof( arr ) / sizeof( arr[ 0 ] ) );
+
+	string hello = "!hello!";
+	string allSym = "\"*&^%;";
+	string comma = "comma,";
+	string period = "period.";
+	string blank = " ";
+
+	assert ( stripStr( hello ) == "hello" );
+	assert ( stripStr( allSym ) == "" );
+	assert ( stripStr( comma ) == "comma" );
+	assert ( stripStr( period ) == "period" );
+	assert ( stripStr( blank ) == "" );
+
+	assert ( stripStr( hello, chars ) == "!hello!" );
+	assert ( stripStr( allSym, chars ) == "\"" );
+	assert ( stripStr( comma, chars ) == "comma" );
+	assert ( stripStr( period, chars ) == "period" );
+	assert ( stripStr( blank, chars ) == "" );
+
+	cout << "testStripStrpassed" << endl << endl;
+	}
 
-	cout << "testIsStopWord passed" << endl;
+void testIsAlpha ( )
+	{
+	cout << "Testing isAlpha..." << endl;
+
+	assert ( isAlpha( 'a' ) );
+	assert ( isAlpha( 'A' ) );
+	assert ( isAlpha( 'z' ) );
+	assert ( isAlpha( 'Z' ) );
+	assert ( isAlpha( 'g' ) );
+	assert ( isAlpha( 'i' ) );
+	assert ( isAlpha( 'P' ) );
+
+	assert ( !isAlpha( '1' ) );
+	assert ( !isAlpha( '0' ) );
+	assert ( !isAlpha( '9' ) );
+	assert ( !isAlpha( '5' ) );
+	assert ( !isAlpha( '6' ) );
+
+	assert ( !isAlpha( ' ' ) );
+	assert ( !isAlpha( '!' ) );
+	assert ( !isAlpha( '/' ) );
+	assert ( !isAlpha( '?' ) );
+	assert ( !isAlpha( '*' ) );
+	assert ( !isAlpha( '-' ) );
+	assert ( !isAlpha( '.' ) );
+	assert ( !isAlpha( ',' ) );
+	assert ( !isAlpha( '(' ) );
+	assert ( !isAlpha( '}' ) );
+
+	cout << "testIsAlpha passed" << endl << endl;
+	}
 
+void testIsNum ( )
+	{
+	cout << "Testing isNum..." << endl;
+
+	assert ( !isNum( 'a' ) );
+	assert ( !isNum( 'A' ) );
+	assert ( !isNum( 'z' ) );
+	assert ( !isNum( 'Z' ) );
+	assert ( !isNum( 'g' ) );
+	assert ( !isNum( 'i' ) );
+	assert ( !isNum( 'P' ) );
+
+	assert ( isNum( '1' ) );
+	assert ( isNum( '0' ) );
+	assert ( isNum( '9' ) );
+	assert ( isNum( '5' ) );
+	assert ( isNum( '6' ) );
+
+	assert ( !isNum( ' ' ) );
+	assert ( !isNum( '!' ) );
+	assert ( !isNum( '/' ) );
+	assert ( !isNum( '?' ) );
+	assert ( !isNum( '*' ) );
+	assert ( !isNum( '-' ) );
+	assert ( !isNum( '.' ) );
+	assert ( !isNum( ',' ) );
+	assert ( !isNum( '(' ) );
+	assert ( !isNum( '}' ) );
+
+	cout << "testIsNum passed" << endl;
 	}
\ No newline at end of file
diff --git a/util/tests/tokenizerTest.cpp b/util/tests/tokenizerTest.cpp
index 0ccb13becf22d4d9db5ff86597829d47b90bbd38..f377cb3e022fe68e38b4ea430260dd69a119f27d 100644
--- a/util/tests/tokenizerTest.cpp
+++ b/util/tests/tokenizerTest.cpp
@@ -1,6 +1,3 @@
-//
-// Created by Veronica Day on 2/13/18.
-//
 
 #include <string>
 #include <vector>
@@ -16,29 +13,29 @@ void testExecute ( string original );
 int main ( )
 	{
 
-	cout << "Beginning testing for TokenizerTest_unit" << endl << endl;
+	cout << "Beginning testing for TokenizerTest" << endl << endl;
 
 	string original = "It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. "
 			"The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here',"
 			"making it look like readable English. ";
 
-	testExecute ( original );
+	testExecute( original );
 
-	cout << "\nTests passed for TokenizerTest_unit :D" << endl;
+	cout << "\nTests passed for TokenizerTest :D" << endl;
 
 	}
 
 void testExecute ( string original )
 	{
 	Tokenizer myTokenizer;
-	myTokenizer.execute ( original );
+	myTokenizer.execute( original, 0 );
 
-	auto dict = myTokenizer.get ( );
+	auto dict = myTokenizer.get( );
 
-	for ( auto it = dict->begin ( ); it != dict->end ( ); it++ )
+	for ( auto it = dict->begin( ); it != dict->end( ); it++ )
 		{
 		cout << it->first << ':';
-		for ( int i = 0; i < it->second.size ( ); ++i )
+		for ( int i = 0; i < it->second.size( ); ++i )
 			{
 			cout << it->second[ i ] << " ";
 			}