diff --git a/3rdParty/MuParser/CMakeLists.txt b/3rdParty/MuParser/CMakeLists.txt
index 3f2d48be099fd660030424c1d7f5b92c216ee8ac..14a1e4e4528181800f03adfd3695310783042707 100644
--- a/3rdParty/MuParser/CMakeLists.txt
+++ b/3rdParty/MuParser/CMakeLists.txt
@@ -32,6 +32,7 @@ if(MSVC)
     else()
         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
     endif()
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251 /wd4310 /wd4267") # disable all muparser warnings
 elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
     # Update if necessary
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic")
diff --git a/CMake/FileUtilities.cmake b/CMake/FileUtilities.cmake
index 4d42efcedd5d6a06d3d1ca12106e26c0ac875b93..151000a681795923d4e31ed8c5f06dfd1e7af7fd 100644
--- a/CMake/FileUtilities.cmake
+++ b/CMake/FileUtilities.cmake
@@ -170,22 +170,23 @@ function(collectFiles source_files ARG_FILES ARG_FOLDER ARG_EXCLUDE)
 		endforeach()
 	endif()
 
-
 	if (NOT ARG_FILES AND NOT ARG_FOLDER)
 		file ( GLOB_RECURSE all_files ${VIRTUAL_FLUIDS_GLOB_FILES} )
 		set(local_source_files ${local_source_files} ${all_files})
 	endif()
-
-
+	
 	if (ARG_EXCLUDE)
 		foreach(file_path ${local_source_files})
+		    set(exclude_file OFF)
 			foreach(file_exclude ${ARG_EXCLUDE})
 				get_filename_component(file_name ${file_path} NAME)
-				if (NOT ${file_name} STREQUAL ${file_exclude})
-					set(new_files ${new_files} ${file_path})
+				if (${file_name} STREQUAL ${file_exclude})
+					set(exclude_file TRUE)
 				endif()
-
 			endforeach()
+			if (NOT ${exclude_file})	
+				set(new_files ${new_files} ${file_path})
+			endif()
 		endforeach()
 		set(local_source_files ${new_files})
 	endif()
diff --git a/CMake/compilerflags/MSVC.cmake b/CMake/compilerflags/MSVC.cmake
index 0a279571cc9aa2cba70476316068f52463246b03..4a535897ed8f74cb34baa539a828ac5b5b637004 100644
--- a/CMake/compilerflags/MSVC.cmake
+++ b/CMake/compilerflags/MSVC.cmake
@@ -19,9 +19,11 @@ ENDIF()
 ## Flags
 ###############################################################################################################
 LIST(APPEND VF_COMPILER_DEFINITION _CRT_SECURE_NO_DEPRECATE) # disable warnings promoting Microsoft's security enhanced CRT
-LIST(APPEND VF_COMPILER_DEFINITION _SCL_SECURE_NO_WARNINGS)  # disable warnings triggered by Microsoft's checked iterators
-LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4996") # deprecated strcpy...
-LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4800") # forcing value to bool 'true' or 'false' (performance warning)
-LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/bigobj") # ansonsten funzt mit boost das compilieren unter windows nimmer
+#LIST(APPEND VF_COMPILER_DEFINITION _SCL_SECURE_NO_WARNINGS)  # disable warnings triggered by Microsoft's checked iterators
+#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4996") # deprecated strcpy...
+#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4800") # forcing value to bool 'true' or 'false' (performance warning)
 
-LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-MP") # enable multi-threaded compiling
\ No newline at end of file
+LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/bigobj") # increases that address capacity to 4,294,967,296 (2^32).
+LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-MP") # enable multi-threaded compiling
+
+LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4251") # disable needs to have dll interface
\ No newline at end of file
diff --git a/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.cpp b/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.cpp
index 690c4b19edb07180de05d126fdd1be5e07b911d0..1053a7f5fcb2feb6280ebdbe563bd1a9c7196424 100644
--- a/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.cpp
+++ b/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.cpp
@@ -173,7 +173,7 @@ BASICS_EXPORT std::shared_ptr<ConfigData> ConfigFileReader::readConfigFile(const
 		data->setGeometryFileF(input->getValue("GeometryF"));
 	//////////////////////////////////////////////////////////////////////////
 	if (input->getValue("measureClockCycle") != "")
-		data->setClockCycleForMP(StringUtil::toFloat(input->getValue("measureClockCycle")));
+		data->setClockCycleForMP(StringUtil::toInt(input->getValue("measureClockCycle")));
 
 	if (input->getValue("measureTimestep") != "")
 		data->setTimestepForMP(StringUtil::toInt(input->getValue("measureTimestep")));
@@ -208,10 +208,10 @@ BASICS_EXPORT std::shared_ptr<ConfigData> ConfigFileReader::readConfigFile(const
 		data->setNumberOfParticles(StringUtil::toInt(input->getValue("numberOfParticles")));
 
 	if (input->getValue("startXHotWall") != "")
-		data->setStartXHotWall(StringUtil::toDouble(input->getValue("startXHotWall")));
+		data->setStartXHotWall(real(StringUtil::toDouble(input->getValue("startXHotWall"))));
 
 	if (input->getValue("endXHotWall") != "")
-		data->setEndXHotWall(StringUtil::toDouble(input->getValue("endXHotWall")));
+		data->setEndXHotWall(real(StringUtil::toDouble(input->getValue("endXHotWall"))));
 	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 	//Restart
 	if (input->getValue("TimeDoCheckPoint") != "")
diff --git a/src/basics/Core/Timer/TimerImp.cpp b/src/basics/Core/Timer/TimerImp.cpp
index 4eb735424cd0e8a7215a92d0dedb2df2a8abcf84..7942f970a8b2f3e1047ef93dbf484fbd019611ea 100644
--- a/src/basics/Core/Timer/TimerImp.cpp
+++ b/src/basics/Core/Timer/TimerImp.cpp
@@ -13,10 +13,10 @@ void TimerImp::end()
 
 real TimerImp::getTimeInSeconds() const
 {
-    return std::chrono::duration_cast<std::chrono::microseconds>( endTime - startTime ).count() / 1000000.0;
+    return real(std::chrono::duration_cast<std::chrono::microseconds>( endTime - startTime ).count() / 1000000.0);
 }
 
 real TimerImp::getCurrentRuntimeInSeconds() const
 {
-    return std::chrono::duration_cast<std::chrono::microseconds>( std::chrono::high_resolution_clock::now() - startTime ).count() / 1000000.0;
+    return real(std::chrono::duration_cast<std::chrono::microseconds>( std::chrono::high_resolution_clock::now() - startTime ).count() / 1000000.0);
 }
diff --git a/src/basics/Core/buildInfo.in.cpp b/src/basics/Core/buildInfo.in.cpp
index 345331b737c4e205a72ad37c9c9cd6f05b668e5c..2cd55e8654c5a021d95ed584a8fb6d5def2014ee 100644
--- a/src/basics/Core/buildInfo.in.cpp
+++ b/src/basics/Core/buildInfo.in.cpp
@@ -1,5 +1,8 @@
+#include "buildInfo.h"
+
 #include "basics_export.h"
 
+
 namespace buildInfo
 {
     BASICS_EXPORT const char *gitCommitHash() { return "@git_commit_hash@";  }
diff --git a/src/basics/basics/utilities/UbSystem.h b/src/basics/basics/utilities/UbSystem.h
index 3d504414524262d4cec19c94a68fce841b42d2e7..8efe16cca5c988764bd1eb19f6ef62d41534355b 100644
--- a/src/basics/basics/utilities/UbSystem.h
+++ b/src/basics/basics/utilities/UbSystem.h
@@ -473,7 +473,7 @@ namespace UbSystem
       }
       else
       {
-         strcpy(Name, "Unknown_Host_Name");
+         strcpy_s(Name, "Unknown_Host_Name");
       }
 #elif (defined(UBSYSTEM_LINUX) || defined(UBSYSTEM_APPLE) || defined(UBSYSTEM_AIX)) && !defined(UBSYSTEM_CYGWIN)
       memset(Name, 0, 150);