diff --git a/CMakeLists.txt b/CMakeLists.txt
index 37aa601..e80c6c1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,9 +13,17 @@
 
 
 #SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls")
+#-fsanitize-memory-track-origins=2 -fno-omit-frame-pointer
+SET(MSAN_CXX_FLAGS "-fsanitize=memory -stdlib=libc++ -I/home/ed/libcxx_msan/include -I/home/ed/libcxx_msan/include/c++/v1")
+SET(MSAN_LINKER_EXE_FLAGS "${MSAN_CXX_FLAGS} -lc++abi -L/home/ed/libcxx_msan/lib -Wl,-rpath,I/home/ed/libcxx_msan/lib")
 
-#SET(MSAN_CXX_FLAGS "-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -stdlib=libc++ -I/home/ed/libcxx_msan/include -I/home/ed/libcxx_msan/include/c++/v1")
-#SET(MSAN_LINKER_EXE_FLAGS "${MSAN_CXX_FLAGS} -lc++abi -L/home/ed/libcxx_msan/lib")
+#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MSAN_CXX_FLAGS}")
+#SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${MSAN_LINKER_EXE_FLAGS}")
+
+
+message("CMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}")
+message("MSAN_CXX_FLAGS=${MSAN_CXX_FLAGS}")
+
 include("cmake/HunterGate.cmake")
 #HunterGate(
 #    URL "https://github.com/ruslo/hunter/archive/v0.16.31.tar.gz"
@@ -31,8 +39,7 @@
 
 project(bmc-webserver CXX C)
 
-SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${MSAN_CXX_FLAGS}")
-SET(CMAKE_EXE_LINKER_FLAGS "${MSAN_LINKER_EXE_FLAGS}")
+
 
 set(CMAKE_CXX_STANDARD 14)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -55,13 +62,13 @@
 #SET(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} -z noexecstack -z relro -z now")
 
 # Boost
-#add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
 #add_definitions(-DBOOST_ASIO_ENABLE_HANDLER_TRACKING)
-#add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
+add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
+add_definitions(-DBOOST_SYSTEM_NO_DEPRECATED)
 add_definitions(-DBOOST_ALL_NO_LIB)
 set(Boost_USE_STATIC_LIBS ON)
-hunter_add_package(Boost COMPONENTS system thread)
-find_package(Boost REQUIRED system thread REQUIRED)
+hunter_add_package(Boost)
+find_package(Boost)
 
 #Openssl
 hunter_add_package(OpenSSL)
@@ -171,6 +178,8 @@
     src/crow_getroutes_test.cpp
     src/ast_jpeg_decoder_test.cpp
 
+    src/msan_test.cpp
+
     ${CMAKE_BINARY_DIR}/generated/blns.hpp
 )
 
@@ -187,13 +196,13 @@
 
     # googletest
     enable_testing()
-    find_package(GTest REQUIRED)
-    find_package(GMock REQUIRED)
+    #hunter_add_package(GTest)
+    add_subdirectory(googletest)
+    #find_package(GMock CONFIG REQUIRED)
 
     add_executable(unittest ${HDR_FILES} ${SRC_FILES} ${UT_FILES})
-    target_link_libraries(unittest ${GMOCK_BOTH_LIBRARIES})
-    target_link_libraries(unittest Boost::system Boost::thread) 
-    target_link_libraries(unittest ${CMAKE_THREAD_LIBS_INIT})
+    target_link_libraries(unittest gmock gtest)
+    target_link_libraries(unittest pthread)
     target_link_libraries(unittest OpenSSL::SSL OpenSSL::Crypto)
     target_link_libraries(unittest g3logger)
     target_link_libraries(unittest ${ZLIB_LIBRARIES})
@@ -205,8 +214,7 @@
 
 # bmcweb
 add_executable(bmcweb ${WEBSERVER_MAIN} ${HDR_FILES} ${SRC_FILES})
-target_link_libraries(bmcweb  Boost::system Boost::thread)
-target_link_libraries(bmcweb ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(bmcweb pthread)
 target_link_libraries(bmcweb OpenSSL::SSL OpenSSL::Crypto)
 target_link_libraries(bmcweb g3logger)
 target_link_libraries(bmcweb ${ZLIB_LIBRARIES})
@@ -214,16 +222,14 @@
 
 # udpclient
 add_executable(udpclient src/udpclient.cpp)
-
-target_link_libraries(udpclient Boost::system)
-target_link_libraries(udpclient ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(udpclient pthread)
 
 add_executable(getvideo src/getvideo_main.cpp)
-target_link_libraries(getvideo ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(getvideo pthread)
 target_link_libraries(getvideo g3logger)
 
 # Visual Studio Code helper
 # this needs to be at the end to make sure all includes are handled correctly
 
 get_property(C_INCLUDE_DIRS DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
-execute_process(COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR}/scripts/prime_vscode_compile_db.py ${C_INCLUDE_DIRS} ${C_SYSTEM_INCLUDE_DIRS})
\ No newline at end of file
+execute_process(COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR}/scripts/prime_vscode_compile_db.py ${C_INCLUDE_DIRS})
\ No newline at end of file
diff --git a/include/ast_video_puller.hpp b/include/ast_video_puller.hpp
index de75fdf..214e2df 100644
--- a/include/ast_video_puller.hpp
+++ b/include/ast_video_puller.hpp
@@ -1,7 +1,6 @@
 #pragma once
 
 #include <assert.h>
-//#include <video.h>
 #include <ast_video_types.hpp>
 #include <iostream>
 #include <vector>
@@ -78,11 +77,6 @@
 
     image_info.do_image_refresh = 1;  // full frame refresh
     image_info.qc_valid = 0;          // quick cursor disabled
-    image_info.parameter.features.w = 0;
-    image_info.parameter.features.h = 0;
-    image_info.parameter.features.chrom_tbl = 0;  // level
-    image_info.parameter.features.lumin_tbl = 0;
-    image_info.parameter.features.jpg_fmt = 1;
     image_info.parameter.features.buf =
         reinterpret_cast<unsigned char *>(raw.buffer.data());
     image_info.crypttype = -1;
diff --git a/include/ssl_key_handler.hpp b/include/ssl_key_handler.hpp
index 1c3e8f4..eef4d55 100644
--- a/include/ssl_key_handler.hpp
+++ b/include/ssl_key_handler.hpp
@@ -1,4 +1,5 @@
 #pragma once
+#ifdef CROW_ENABLE_SSL
 
 #include <openssl/bio.h>
 #include <openssl/dh.h>
@@ -191,7 +192,7 @@
   if (myecc) {
     EC_KEY_set_asn1_flag(myecc, OPENSSL_EC_NAMED_CURVE);
     EC_KEY_generate_key(myecc);
-    EVP_PKEY *pKey = EVP_PKEY_new();
+    pKey = EVP_PKEY_new();
     if (pKey) {
       if (EVP_PKEY_assign_EC_KEY(pKey, myecc)) {
         /* pKey owns pRSA from now */
@@ -199,11 +200,7 @@
           fprintf(stderr, "EC_check_key failed.\n");
         }
       }
-      EVP_PKEY_free(pKey);
-      pKey = NULL;
     }
-    EC_KEY_free(myecc);
-    myecc = NULL;
   }
   return pKey;
 }
@@ -314,4 +311,6 @@
   }
   return m_ssl_context;
 }
-}
\ No newline at end of file
+}
+
+#endif
\ No newline at end of file
diff --git a/include/web_kvm.hpp b/include/web_kvm.hpp
index 2512570..62be097 100644
--- a/include/web_kvm.hpp
+++ b/include/web_kvm.hpp
@@ -184,7 +184,7 @@
         if (meta.vnc_state == VncState::UNSTARTED) {
           meta.vnc_state = VncState::AWAITING_CLIENT_VERSION;
           conn.send_binary(rfb_3_8_version_string);
-        } else {
+        } else {  // SHould never happen
           conn.close();
         }
 
@@ -271,7 +271,6 @@
                     auto msg = reinterpret_cast<const frame_buffer_update_req*>(
                         data.data() + sizeof(client_to_server_msg_type));
 
-                    if (!msg->incremental) {
                       // Todo(ed) lifecycle of the video puller and decoder
                       // should be
                       // with the websocket, not recreated every time
@@ -313,7 +312,7 @@
                       auto serialized = serialize(buffer_update_msg);
 
                       conn.send_binary(serialized);
-                    }
+
                   }  // TODO(Ed) handle error
 
                 }
diff --git a/src/getvideo_main.cpp b/src/getvideo_main.cpp
index ad002c3..cd7f09c 100644
--- a/src/getvideo_main.cpp
+++ b/src/getvideo_main.cpp
@@ -11,7 +11,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-#define BUILD_CIMG
+//#define BUILD_CIMG
 #ifdef BUILD_CIMG
 #define cimg_display 0
 #include <CImg.h>
diff --git a/src/msan_test.cpp b/src/msan_test.cpp
new file mode 100644
index 0000000..047d3cf
--- /dev/null
+++ b/src/msan_test.cpp
@@ -0,0 +1,7 @@
+#include "gtest/gtest.h"
+#include <string>
+
+TEST(MemorySanitizer, TestIsWorking) {
+  std::string foo("foo");
+  EXPECT_STREQ("foo", foo.c_str());
+}
diff --git a/src/ssl_key_handler_test.cpp b/src/ssl_key_handler_test.cpp
new file mode 100644
index 0000000..818137c
--- /dev/null
+++ b/src/ssl_key_handler_test.cpp
@@ -0,0 +1 @@
+// TODO(ed) WRITE TESTS FOR THIS
\ No newline at end of file
diff --git a/src/webserver_main.cpp b/src/webserver_main.cpp
index 949bdc1..d77d822 100644
--- a/src/webserver_main.cpp
+++ b/src/webserver_main.cpp
@@ -1,7 +1,3 @@
-#include <web_kvm.hpp>
-#include <webassets.hpp>
-#include "ssl_key_handler.hpp"
-
 #include "crow/app.h"
 #include "crow/ci_map.h"
 #include "crow/common.h"
@@ -38,6 +34,10 @@
 #include <string>
 #include <unordered_set>
 
+#include <web_kvm.hpp>
+#include <webassets.hpp>
+#include "ssl_key_handler.hpp"
+
 int main(int argc, char** argv) {
   auto worker(g3::LogWorker::createLogWorker());
   std::string logger_name("bmcweb");
@@ -116,8 +116,7 @@
         conn.send_binary(str);
 
       });
-
-  app.port(18080)
-      //.ssl(std::move(ensuressl::get_ssl_context(ssl_pem_file)))
-      .run();
+  auto ssl_context = ensuressl::get_ssl_context(ssl_pem_file);
+  app.port(18080).ssl(std::move(ssl_context)).run();
 }
+
