diff --git a/3d_party/libcurl/install_VS2019.cmd b/3d_party/libcurl/install_VS2019.cmd
new file mode 100644
index 0000000000000000000000000000000000000000..919029a4c544d5509d95c54a2ef2b6fade30bf8a
--- /dev/null
+++ b/3d_party/libcurl/install_VS2019.cmd
@@ -0,0 +1,21 @@
+:: download and untar libcurl sources to dir
+:: https://curl.haxx.se/download/curl-7.58.0.tar.gz
+
+:: set directory with libcurl sources
+SET dir=c:\tmp\curl-7.58.0
+:: set directory where libcurl should be installed
+SET install_dir=c:\Curl
+
+set mypath=%cd%
+
+call "c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
+
+cd /d %dir%\winbuild
+
+#nmake.exe /f Makefile.vc mode=static VC=16 MACHINE=X64 RTLIBCFG=static
+
+xcopy /isvy %dir%\builds\libcurl-vc16-X64-release-static-ipv6-sspi-winssl\include %install_dir%\include
+xcopy /isvy %dir%\builds\libcurl-vc16-X64-release-static-ipv6-sspi-winssl\lib %install_dir%\lib
+rename %install_dir%\lib\libcurl_a.lib libcurl.lib
+
+
diff --git a/common/cpp/include/common/error.h b/common/cpp/include/common/error.h
index 938baf6fa5b926648064c943a54dc5197511a4cf..e2a49f858bf78b1961948d2ae73dbfec85205402 100644
--- a/common/cpp/include/common/error.h
+++ b/common/cpp/include/common/error.h
@@ -4,7 +4,7 @@
 #include <string>
 #include <memory>
 #include <utility>
-
+#include <ostream>
 namespace asapo {
 
 enum class ErrorType {
diff --git a/common/cpp/include/database/database.h b/common/cpp/include/database/database.h
index 04979a76123644b4df0266c3ca0f35eee0eaaff3..550e06d3700cc6ce20368af7e7cb20141daa15cf 100644
--- a/common/cpp/include/database/database.h
+++ b/common/cpp/include/database/database.h
@@ -2,7 +2,7 @@
 #define ASAPO_DATABASE_H
 
 #include <string>
-
+#include <ostream>
 #include "common/data_structs.h"
 #include "common/error.h"
 
diff --git a/common/cpp/include/logger/logger.h b/common/cpp/include/logger/logger.h
index feaba694551091f0bd989f9b5d988ffb02ca384d..badf462c1694ee75177a5e3638e1c7efb03e485c 100644
--- a/common/cpp/include/logger/logger.h
+++ b/common/cpp/include/logger/logger.h
@@ -5,7 +5,7 @@
 #include <string>
 
 #include "common/error.h"
-
+#include <ostream>
 namespace asapo {
 
 enum class LogLevel {
diff --git a/common/cpp/src/http_client/curl_http_client.h b/common/cpp/src/http_client/curl_http_client.h
index a31b1f7584c2651ec6ac29b2d518b56457b9a87d..a3627136e95b049438dcad1b7fffd2e828f3ba32 100644
--- a/common/cpp/src/http_client/curl_http_client.h
+++ b/common/cpp/src/http_client/curl_http_client.h
@@ -3,6 +3,7 @@
 
 #include <string>
 #include <mutex>
+#include <ostream>
 
 #include "http_client/http_client.h"
 #include "curl/curl.h"
diff --git a/common/cpp/src/logger/spd_logger.h b/common/cpp/src/logger/spd_logger.h
index 904dbfc26c0cdff440d677dc1906691c89a46f19..b2b1b041eca2988f2ca31c41d81cd5f7e37492ea 100644
--- a/common/cpp/src/logger/spd_logger.h
+++ b/common/cpp/src/logger/spd_logger.h
@@ -4,6 +4,7 @@
 #include "logger/logger.h"
 #include "spdlog/spdlog.h"
 
+#include <ostream>
 namespace asapo {
 
 class SpdLogger : public AbstractLogger {
diff --git a/common/cpp/src/system_io/system_io.h b/common/cpp/src/system_io/system_io.h
index 96dfa6a10a3d2326589a4844bca14f0287fbd3ee..6cfd3039340d58df5080415fc39c8a2f62a63acd 100644
--- a/common/cpp/src/system_io/system_io.h
+++ b/common/cpp/src/system_io/system_io.h
@@ -9,6 +9,8 @@
 #undef max
 #undef min
 typedef SSIZE_T ssize_t;
+#include <ostream>
+#include <sstream>
 #endif
 
 #if defined(__linux__) || defined (__APPLE__)
diff --git a/common/cpp/src/system_io/system_io_windows.cpp b/common/cpp/src/system_io/system_io_windows.cpp
index a4922c42e8d94eb79c98f77eb4b7d2f7acf76293..2ff541f628ba8ecf7e4e7d0991a71e104e6c7954 100644
--- a/common/cpp/src/system_io/system_io_windows.cpp
+++ b/common/cpp/src/system_io/system_io_windows.cpp
@@ -7,6 +7,7 @@
 #include <fcntl.h>
 #include <iostream>
 #include <direct.h>
+#include <sstream>
 
 using std::string;
 using std::vector;
diff --git a/common/cpp/unittests/json_parser/test_json_parser.cpp b/common/cpp/unittests/json_parser/test_json_parser.cpp
index 36a52780ff520ab44f9e112d1e854b7db81933ff..625b3274a4dd532cbad69dd74daf7868e0a66aa0 100644
--- a/common/cpp/unittests/json_parser/test_json_parser.cpp
+++ b/common/cpp/unittests/json_parser/test_json_parser.cpp
@@ -19,6 +19,7 @@ using ::testing::Return;
 using ::testing::SetArgPointee;
 using ::testing::HasSubstr;
 using ::testing::ElementsAre;
+using ::testing::DoAll;
 
 using asapo::JsonFileParser;
 using asapo::JsonStringParser;
diff --git a/consumer/api/cpp/include/asapo_consumer.h b/consumer/api/cpp/include/asapo_consumer.h
index 10b8616d409a6d871d6b71e852c827ffab20930a..679f3aae1b13009b563e05eb60f8e492943ba6da 100644
--- a/consumer/api/cpp/include/asapo_consumer.h
+++ b/consumer/api/cpp/include/asapo_consumer.h
@@ -4,5 +4,5 @@
 #include "consumer/data_broker.h"
 #include "consumer/consumer_error.h"
 #include "common/version.h"
-
+#include <ostream>
 #endif //ASAPO_ASAPO_CONSUMER_H
diff --git a/consumer/api/cpp/unittests/test_server_broker.cpp b/consumer/api/cpp/unittests/test_server_broker.cpp
index 988cb859a73fd4a3a8d769489c3e05973ec456ac..ff8c6b4db7d61c56cb2d1e46927442f5437e6233 100644
--- a/consumer/api/cpp/unittests/test_server_broker.cpp
+++ b/consumer/api/cpp/unittests/test_server_broker.cpp
@@ -38,6 +38,8 @@ using ::testing::Return;
 using ::testing::SetArgPointee;
 using ::testing::SetArgReferee;
 using testing::AllOf;
+using ::testing::DoAll;
+
 
 namespace {
 
diff --git a/consumer/api/cpp/unittests/test_tcp_client.cpp b/consumer/api/cpp/unittests/test_tcp_client.cpp
index 77b54e539672b1481cc9111ef7b1cb7bf5775b36..ae6de3ecb8f0fb6021de8c171117b1fdc8eed038 100644
--- a/consumer/api/cpp/unittests/test_tcp_client.cpp
+++ b/consumer/api/cpp/unittests/test_tcp_client.cpp
@@ -29,6 +29,7 @@ using ::testing::Return;
 using ::testing::SetArgPointee;
 using ::testing::SetArgReferee;
 using testing::AllOf;
+using ::testing::DoAll;
 
 namespace {
 
diff --git a/consumer/api/cpp/unittests/test_tcp_connection_pool.cpp b/consumer/api/cpp/unittests/test_tcp_connection_pool.cpp
index 8d0e139b1bf0b3d74ddc4908286446f43e67388e..2368c4485be9c56498a2d9be2b972eb619f368dc 100644
--- a/consumer/api/cpp/unittests/test_tcp_connection_pool.cpp
+++ b/consumer/api/cpp/unittests/test_tcp_connection_pool.cpp
@@ -29,6 +29,7 @@ using ::testing::Return;
 using ::testing::SetArgPointee;
 using ::testing::SetArgReferee;
 using testing::AllOf;
+using ::testing::DoAll;
 
 namespace {
 
diff --git a/consumer/tools/folder_to_db/unittests/test_folder_to_db.cpp b/consumer/tools/folder_to_db/unittests/test_folder_to_db.cpp
index c8afc46141d2c3bf2a7d0f68735bc83bf60c57e1..7562b0c58c6186b8ed3b39bb8947c9933e4146cd 100644
--- a/consumer/tools/folder_to_db/unittests/test_folder_to_db.cpp
+++ b/consumer/tools/folder_to_db/unittests/test_folder_to_db.cpp
@@ -30,6 +30,7 @@ using ::testing::Mock;
 using ::testing::NiceMock;
 using ::testing::Ref;
 using ::testing::Return;
+using ::testing::DoAll;
 
 using namespace asapo;
 
diff --git a/receiver/unittests/receiver_data_server/test_receiver_data_server.cpp b/receiver/unittests/receiver_data_server/test_receiver_data_server.cpp
index 64159e455b169b450ebe98c4c6723df962cabd23..50017308ce4856b558270470ff3a65d9a1431a5d 100644
--- a/receiver/unittests/receiver_data_server/test_receiver_data_server.cpp
+++ b/receiver/unittests/receiver_data_server/test_receiver_data_server.cpp
@@ -26,6 +26,7 @@ using ::testing::_;
 using ::testing::SetArgPointee;
 using ::testing::NiceMock;
 using ::testing::HasSubstr;
+using ::testing::DoAll;
 
 
 using asapo::MockLogger;
diff --git a/receiver/unittests/receiver_data_server/test_tcp_server.cpp b/receiver/unittests/receiver_data_server/test_tcp_server.cpp
index e09b3aea8df61123ec46abe39c389200aeded32f..9b8985ef3f03f68a85344fa01c398864e5f29b86 100644
--- a/receiver/unittests/receiver_data_server/test_tcp_server.cpp
+++ b/receiver/unittests/receiver_data_server/test_tcp_server.cpp
@@ -22,7 +22,7 @@ using ::testing::HasSubstr;
 using ::testing::Contains;
 using ::testing::IsEmpty;
 using ::testing::Mock;
-
+using ::testing::DoAll;
 
 using asapo::TcpServer;
 using asapo::MockIO;