diff --git a/.gitmodules b/.gitmodules
index a95d99c..5037ad5 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -33,48 +33,30 @@
 [submodule "third_party/soxr"]
 	path = third_party/soxr
 	url = https://git.code.sf.net/p/soxr/code
-[submodule "third_party/spdlog"]
-	path = third_party/spdlog
-	url = https://git.did.science/TeaSpeak/libraries/spdlog.git
 [submodule "third_party/StringVariable"]
 	path = third_party/StringVariable
 	url = https://github.com/WolverinDEV/StringVariable.git
-[submodule "third_party/Thread-Pool"]
-	path = third_party/Thread-Pool
-	url = https://git.did.science/WolverinDEV/ThreadPool.git
 [submodule "third_party/tomcrypt"]
 	path = third_party/tomcrypt
 	url = https://git.did.science/TeaSpeak/libraries/tomcrypt.git
 [submodule "third_party/tommath"]
 	path = third_party/tommath
 	url = https://git.did.science/TeaSpeak/libraries/tommath.git
-[submodule "third_party/jsoncpp"]
-	path = third_party/jsoncpp
-	url = https://github.com/open-source-parsers/jsoncpp.git
 [submodule "third_party/protobuf"]
 	path = third_party/protobuf
 	url = https://github.com/google/protobuf.git
 [submodule "third_party/yaml-cpp"]
 	path = third_party/yaml-cpp
 	url = https://github.com/jbeder/yaml-cpp.git
-[submodule "third_party/jemalloc"]
-	path = third_party/jemalloc
-	url = https://github.com/jemalloc/jemalloc.git
 [submodule "shared"]
 	path = shared
 	url = https://git.did.science/TeaSpeak/TeaSpeakLibrary.git
-[submodule "third_party/boringssl"]
-	path = third_party/boringssl
-	url = https://git.did.science/WolverinDEV/boringssl.git
 [submodule "build-helpers"]
 	path = build-helpers
 	url = https://github.com/WolverinDEV/build-helpers.git
 [submodule "third_party/unbound"]
 	path = third_party/unbound
 	url = https://github.com/WolverinDEV/unbound.git
-[submodule "third_party/CXXTerminal"]
-	path = third_party/CXXTerminal
-	url = https://github.com/WolverinDEV/CXXTerminal.git
 [submodule "third_party/soundio"]
 	path = third_party/soundio
 	url = https://github.com/WolverinDEV/libsoundio.git
diff --git a/build-helpers b/build-helpers
index eb1a953..62de553 160000
--- a/build-helpers
+++ b/build-helpers
@@ -1 +1 @@
-Subproject commit eb1a95318b358937e69ac6c8eadbfefd4ce21807
+Subproject commit 62de553a11f63605355b436edbf6d62e994c9f1f
diff --git a/build_notes.md b/build_notes.md
new file mode 100644
index 0000000..e690183
--- /dev/null
+++ b/build_notes.md
@@ -0,0 +1,6 @@
+# Build the TeaSpeak - Client
+___
+# 1. Native modules
+## 1.1 Required third party libraries
+
+# 2. Client
\ No newline at end of file
diff --git a/client b/client
index 24c6c4d..bce5394 160000
--- a/client
+++ b/client
@@ -1 +1 @@
-Subproject commit 24c6c4d32c23ea51c547ae0ecd13e66cd2587e4e
+Subproject commit bce53945e0d2fa84879f4af7be9e128c94220610
diff --git a/shared b/shared
index 65dad8e..f6f90f1 160000
--- a/shared
+++ b/shared
@@ -1 +1 @@
-Subproject commit 65dad8e9cb0e198688f68e49ea0f5def2113b4ae
+Subproject commit f6f90f1196afcaf21c31b93546e07c3d61d6e510
diff --git a/third_party/CXXTerminal b/third_party/CXXTerminal
deleted file mode 160000
index d93597c..0000000
--- a/third_party/CXXTerminal
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit d93597ce7e5bd0f22bf27be5d89535e34de70fd1
diff --git a/third_party/DataPipes b/third_party/DataPipes
index 6803c93..540238c 160000
--- a/third_party/DataPipes
+++ b/third_party/DataPipes
@@ -1 +1 @@
-Subproject commit 6803c93043aa1ec2ab962c99921e83144dc067ae
+Subproject commit 540238cdd0d9b3939199895244e786c316ba373a
diff --git a/third_party/StringVariable b/third_party/StringVariable
deleted file mode 160000
index 6613f64..0000000
--- a/third_party/StringVariable
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 6613f642a0b78bd850c5774298e5b6c24a673545
diff --git a/third_party/Thread-Pool b/third_party/Thread-Pool
deleted file mode 160000
index df14b58..0000000
--- a/third_party/Thread-Pool
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit df14b580d9f15d7a0b16a8bfc8b906f2608d192c
diff --git a/third_party/boringssl b/third_party/boringssl
deleted file mode 160000
index 8289fee..0000000
--- a/third_party/boringssl
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8289fee35e8ba5d6acebe0a217618aca66658c2c
diff --git a/third_party/breakpad b/third_party/breakpad
index c46151d..f195f0a 160000
--- a/third_party/breakpad
+++ b/third_party/breakpad
@@ -1 +1 @@
-Subproject commit c46151db0ffd1a8dae914e45f1212ef427f61ed3
+Subproject commit f195f0a55e4ad549c9a5bdf70ab24b65ba30db09
diff --git a/third_party/build.sh b/third_party/build.sh
index 4ebaec3..e51908f 100755
--- a/third_party/build.sh
+++ b/third_party/build.sh
@@ -61,28 +61,20 @@ function exec_script_external() {
 }
 
 
-exec_script build_rnnoise.sh
-exec_script build_boringssl.sh
-[[ ${build_os_type} != "win32" ]] && exec_script build_breakpad.sh #Not required for windows TeaClient
-exec_script build_libevent.sh
-#exec_script build_cxxterminal.sh #Depends on libevent; Not required for TeaClient
-exec_script build_datapipes.sh
-exec_script build_ed25519.sh
-exec_script build_jsoncpp.sh
-#exec_script build_mysqlconnector.sh
-exec_script build_opus.sh
-exec_script build_libfvad.sh
-exec_script build_soxr.sh
-exec_script build_portaudio.sh
-exec_script_external build_protobuf.sh protobuf
-exec_script build_unbound.sh
-exec_script build_spdlog.sh
-exec_script build_stringvariable.sh
-exec_script build_threadpool.sh
-exec_script build_soundio.sh
-exec_script build_tom.sh
-exec_script build_yaml.sh
-[[ ${build_os_type} != "win32" ]] && exec_script build_jemalloc.sh #Not required for TeaClient
+exec_script_external build_rnnoise.sh rnnoise
+exec_script_external build_libevent.sh libevent
+exec_script_external build_datapipes.sh DataPipes
+exec_script_external build_tommath.sh tommath
+exec_script_external build_tomcrypt.sh tomcrypt "tommath_path=`pwd`/tommath/out/${build_os_type}_${build_os_arch}"
+exec_script_external build_ed25519.sh ed25519
+exec_script_external build_opus.sh opus
+exec_script_external build_libfvad.sh libfvad
+exec_script_external build_soxr.sh soxr
+exec_script_external build_portaudio.sh portaudio
+exec_script_external build_unbound.sh unbound
+##[[ ${build_os_type} != "win32" ]] && exec_script build_breakpad.sh #Not required for windows TeaClient
+##exec_script build_soundio.sh
+##exec_script build_soundio.sh
 
 #Log the result
 end_task "build_third_party" "Build all libraries successfully"
diff --git a/third_party/build_portaudio.sh b/third_party/build_portaudio.sh
deleted file mode 100755
index 920c1d8..0000000
--- a/third_party/build_portaudio.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env bash
-
-[[ -z "${build_helper_file}" ]] && {
-	echo "Missing build helper file. Please define \"build_helper_file\""
-	exit 1
-}
-source ${build_helper_file}
-[[ $build_helpers_defined -ne 1 ]] && {
-    echo "Failed to include build helpers."
-    exit 1
-}
-
-
-library_path="portaudio"
-requires_rebuild ${library_path}
-[[ $? -eq 0 ]] && exit 0
-
-_fpic=""
-[[ ${build_os_type} == "linux" ]] && _fpic="-fPIC"
-cmake_build ${library_path} -DCMAKE_C_FLAGS="${_fpic}" -DPA_BUILD_SHARED=OFF -DPA_BUILD_STATIC=ON -DPA_BUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo
-check_err_exit ${library_path} "Failed to build portaudio!"
-set_build_successful ${library_path}
diff --git a/third_party/build_soxr.sh b/third_party/build_soxr.sh
deleted file mode 100755
index 6c9a527..0000000
--- a/third_party/build_soxr.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env bash
-
-[[ -z "${build_helper_file}" ]] && {
-	echo "Missing build helper file. Please define \"build_helper_file\""
-	exit 1
-}
-source ${build_helper_file}
-[[ $build_helpers_defined -ne 1 ]] && {
-    echo "Failed to include build helpers."
-    exit 1
-}
-
-
-library_path="soxr"
-requires_rebuild ${library_path}
-[[ $? -eq 0 ]] && exit 0
-
-_fpic=""
-[[ ${build_os_type} == "linux" ]] && _fpic="-fPIC"
-cmake_build ${library_path} -DCMAKE_C_FLAGS="${_fpic}" -DBUILD_SHARED_RUNTIME=OFF -DWITH_OPENMP=OFF -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_EXAMPLES=OFF
-check_err_exit ${library_path} "Failed to build soxr!"
-set_build_successful ${library_path}
diff --git a/third_party/build_unbound.sh b/third_party/build_unbound.sh
deleted file mode 100755
index de0dee6..0000000
--- a/third_party/build_unbound.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env bash
-
-[[ -z "${build_helper_file}" ]] && {
-	echo "Missing build helper file. Please define \"build_helper_file\""
-	exit 1
-}
-source ${build_helper_file}
-[[ $build_helpers_defined -ne 1 ]] && {
-    echo "Failed to include build helpers."
-    exit 1
-}
-
-
-if [[ ${build_os_type} == "win32" ]]; then
-    echo "Windows does not require libunbound"
-    echo "Dont building library"
-    exit 0
-fi
-
-library_path="unbound"
-requires_rebuild ${library_path}
-[[ $? -eq 0 ]] && exit 0
-
-generate_build_path "${library_path}"
-library_event=`pwd`/libevent/out/${build_os_type}_${build_os_arch}/
-library_boringssl=`pwd`/boringssl/lib/
-
-
-if [[ -d ${build_path} ]]; then
-    echo "Removing old build directory"
-    rm -r ${build_path}
-fi
-
-cd ${library_path}
-if [[ ${build_os_type} == "linux" ]]; then
-	#Failed to build with BoringSSL, so we using openssl. No ABI stuff should be changed!
-	# --with-ssl=${library_boringssl}
-        echo "Install build to ${build_path}"
-	./configure --prefix="${build_path}" --with-libunbound-only --with-libevent=${library_event} --enable-event-api --enable-shared=yes --enable-static=yes --with-pthreads
-	check_err_exit ${library_path} "Failed to configure build"
-	make CXXFLAGS="${CXX_FLAGS}" CFLAGS="${C_FLAGS} -fPIC" ${MAKE_OPTIONS}
-	check_err_exit ${library_path} "Failed to build"
-	make install
-	check_err_exit ${library_path} "Failed to install"
-else
-    echo "Invalid OS!"
-    exit 1
-fi
-cd ../
-
-set_build_successful ${library_path}
-
diff --git a/third_party/jemalloc b/third_party/jemalloc
deleted file mode 160000
index b0b3e49..0000000
--- a/third_party/jemalloc
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b0b3e49a54ec29e32636f4577d9d5a896d67fd20
diff --git a/third_party/jsoncpp b/third_party/jsoncpp
deleted file mode 160000
index 7924d3f..0000000
--- a/third_party/jsoncpp
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 7924d3ff9713f1a130ed5fe234d52d7176ae4d09
diff --git a/third_party/libevent b/third_party/libevent
index 0d7d85c..bc25889 160000
--- a/third_party/libevent
+++ b/third_party/libevent
@@ -1 +1 @@
-Subproject commit 0d7d85c2083f7a4c9efe01c061486f332b576d28
+Subproject commit bc25889fb3738cdd4d85e3ac162fd6cb2fde9839
diff --git a/third_party/opus b/third_party/opus
index ad8fe90..d633f52 160000
--- a/third_party/opus
+++ b/third_party/opus
@@ -1 +1 @@
-Subproject commit ad8fe90db79b7d2a135e3dfd2ed6631b0c5662ab
+Subproject commit d633f523e36e3b6d01cc6d57386458d770d618be
diff --git a/third_party/portaudio b/third_party/portaudio
index c5d2c51..09087cf 160000
--- a/third_party/portaudio
+++ b/third_party/portaudio
@@ -1 +1 @@
-Subproject commit c5d2c51bd6fe354d0ee1119ba932bfebd3ebfacc
+Subproject commit 09087cf5a63d6fdb6aca139331f017da970f8177
diff --git a/third_party/protobuf b/third_party/protobuf
index 8b09686..59b3d97 160000
--- a/third_party/protobuf
+++ b/third_party/protobuf
@@ -1 +1 @@
-Subproject commit 8b0968625331457e79ba2e7eef5b35af3a95129e
+Subproject commit 59b3d97f6d7e3ff67bc5d89f030017c60b483549
diff --git a/third_party/rnnoise b/third_party/rnnoise
index ad42339..eb3dde2 160000
--- a/third_party/rnnoise
+++ b/third_party/rnnoise
@@ -1 +1 @@
-Subproject commit ad42339dbd66e09755c09ac90c1f38e00062d1ef
+Subproject commit eb3dde20fee65f921b0b66a7df217a91b8df5000
diff --git a/third_party/spdlog b/third_party/spdlog
deleted file mode 160000
index b7d5647..0000000
--- a/third_party/spdlog
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b7d56470c94c742342f1895621b9ab5505cd8b00
diff --git a/third_party/yaml-cpp b/third_party/yaml-cpp
index 0122697..a6bbe0e 160000
--- a/third_party/yaml-cpp
+++ b/third_party/yaml-cpp
@@ -1 +1 @@
-Subproject commit 012269756149ae99745b6dafefd415843d7420bb
+Subproject commit a6bbe0e50ac4074f0b9b44188c28cf00caf1a723