diff --git a/DownloadArmadillo.cmake b/DownloadArmadillo.cmake
deleted file mode 100644
index 9dc9987ccb0224f0483f86ba7de698b06d61bc05..0000000000000000000000000000000000000000
--- a/DownloadArmadillo.cmake
+++ /dev/null
@@ -1,27 +0,0 @@
-message("DownloadArmadillo starting...")
-
-set(ARMADILLO_LOCAL_PATH ${CMAKE_CURRENT_LIST_DIR}/external_dependencies/armadillo)
-
-include(FetchContent)
-
-######################
-# Download Armadillo #
-######################
-FetchContent_Declare(
-    armadillo
-    SOURCE_DIR ${ARMADILLO_LOCAL_PATH}
-    GIT_REPOSITORY https://gitlab.com/conradsnicta/armadillo-code.git
-    GIT_TAG 9.300.x  #TODO do some general solution!
-)
-
-set(FETCHCONTENT_QUIET FALSE)
-
-FetchContent_Populate(armadillo)
-
-find_package(Armadillo)
-
-if(NOT ARMADILLO_FOUND)
-    message(FATAL_ERROR "Armadillo was not downloaded successfully!")
-endif()
-
-set(ENV{ARMADILLO_LOCAL_PATH} ${ARMADILLO_LOCAL_PATH})
diff --git a/DownloadBoost.cmake b/DownloadBoost.cmake
deleted file mode 100644
index 4f9491bc265a16d6b2190ef713cbf3c9674555e1..0000000000000000000000000000000000000000
--- a/DownloadBoost.cmake
+++ /dev/null
@@ -1,94 +0,0 @@
-message("DownloadBoost starting...")
-
-set(BOOST_LOCAL_PATH ${CMAKE_CURRENT_LIST_DIR}/external_dependencies/boost)
-
-include(FetchContent)
-
-##################
-# Download Boost #
-##################
-set(WINAPI_BOOST_LIB "")
-if(WIN32)
-    set(WINAPI_BOOST_LIB libs/winapi)
-endif()
-
-FetchContent_Declare(
-    boost
-    SOURCE_DIR ${BOOST_LOCAL_PATH}
-    GIT_REPOSITORY https://github.com/boostorg/boost.git
-    GIT_SUBMODULES tools/build tools/boost_install
-                    libs/system libs/random libs/serialization
-                    libs/config libs/headers libs/assert libs/core
-                    libs/integer libs/type_traits libs/mpl
-                    libs/preprocessor libs/throw_exception
-                    libs/utility libs/static_assert libs/smart_ptr
-                    libs/predef libs/move libs/io libs/iterator
-                    libs/detail libs/spirit libs/optional
-                    libs/function libs/type_index libs/bind
-                    libs/container_hash libs/array libs/test
-                    libs/timer libs/exception libs/algorithm
-                    libs/range libs/numeric libs/format
-                    libs/lexical_cast libs/concept_check
-                    libs/container libs/math libs/function_types
-                    libs/typeof ${WINAPI_BOOST_LIB}
-)
-
-set(FETCHCONTENT_QUIET FALSE)
-
-FetchContent_Populate(boost)
-
-###############
-# Build Boost #
-###############
-set(BOOTSTRAP_CMD sh bootstrap.sh)
-set(B2_CMD ./b2 -j${N_CORES})
-if(WIN32)
-    set(BOOTSTRAP_CMD bootstrap.bat)
-    set(B2_CMD b2 -j${N_CORES})
-endif()
-
-execute_process(
-    COMMAND ${BOOTSTRAP_CMD}
-    WORKING_DIRECTORY ${BOOST_LOCAL_PATH}
-    RESULT_VARIABLE rv
-)
-if(NOT rv STREQUAL "0")
-    message("Boost build: bootstrap: ${rv}")
-endif()
-
-execute_process(
-    COMMAND ${B2_CMD} headers
-    WORKING_DIRECTORY ${BOOST_LOCAL_PATH}
-    RESULT_VARIABLE rv
-)
-if(NOT rv STREQUAL "0")
-    message("Boost build: b2 headers: ${rv}")
-endif()
-
-set(VARIANT release)
-if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
-    set(VARIANT debug)
-endif()
-
-execute_process(
-    COMMAND ${B2_CMD} -q cxxflags=-fPIC --layout=system variant=${VARIANT} link=${DEPENDENCIES_LINK_TYPE} address-model=64 --with-system --with-serialization --with-random
-    WORKING_DIRECTORY ${BOOST_LOCAL_PATH}
-    RESULT_VARIABLE rv
-)
-if(NOT rv STREQUAL "0")
-    message("Boost build: b2: ${rv}")
-endif()
-
-find_package(
-    Boost
-
-    COMPONENTS
-        system
-        serialization
-        random
-)
-
-if(NOT Boost_FOUND)
-    message(FATAL_ERROR "Boost was not downloaded successfully!")
-endif()
-
diff --git a/DownloadExprtk.cmake b/DownloadExprtk.cmake
deleted file mode 100644
index 8fb33ad46009befcf1673d111ab326f7fdb84520..0000000000000000000000000000000000000000
--- a/DownloadExprtk.cmake
+++ /dev/null
@@ -1,25 +0,0 @@
-message("DownloadExprtk starting...")
-
-set(EXPRTK_LOCAL_PATH ${CMAKE_CURRENT_LIST_DIR}/external_dependencies/exprtk)
-
-include(FetchContent)
-
-###################
-# Download exprtk #
-###################
-FetchContent_Declare(
-    exprtk
-    SOURCE_DIR ${EXPRTK_LOCAL_PATH}
-    GIT_REPOSITORY https://github.com/ArashPartow/exprtk.git
-)
-
-set(FETCHCONTENT_QUIET FALSE)
-
-FetchContent_Populate(exprtk)
-
-find_package(Exprtk)
-
-if(NOT EXPRTK_FOUND)
-    message(FATAL_ERROR "Exprtk was not downloaded successfully!")
-endif()
-
diff --git a/DownloadFromURL.cmake b/DownloadFromURL.cmake
deleted file mode 100644
index b56342bd4cc3ec9e8cdaaeef0e8c74f8bc2fc99f..0000000000000000000000000000000000000000
--- a/DownloadFromURL.cmake
+++ /dev/null
@@ -1,3 +0,0 @@
-message(URL_FOR_DOWNLOAD: ${URL_FOR_DOWNLOAD})
-message(FILE_TO_SAVE: ${FILE_TO_SAVE})
-file(DOWNLOAD ${URL_FOR_DOWNLOAD} ${FILE_TO_SAVE})
diff --git a/DownloadLapacke.cmake b/DownloadLapacke.cmake
deleted file mode 100644
index 713a88c7ef5887a74f04d5754d526d906fb9f12d..0000000000000000000000000000000000000000
--- a/DownloadLapacke.cmake
+++ /dev/null
@@ -1,42 +0,0 @@
-message("DownloadLapacke starting...")
-
-set(LAPACKE_LOCAL_PATH ${CMAKE_CURRENT_LIST_DIR}/external_dependencies/Lapacke)
-
-include(FetchContent)
-
-####################
-# Download Lapacke #
-####################
-set(LAPACKE_FILES ${LAPACKE_LOCAL_PATH}/lapacke.h ${LAPACKE_LOCAL_PATH}/liblapacke.dll ${LAPACKE_LOCAL_PATH}/liblapacke.lib)
-
-add_custom_command(
-    OUTPUT ${LAPACKE_LOCAL_PATH}/lapacke.h
-    COMMAND ${CMAKE_COMMAND} -DURL_FOR_DOWNLOAD=https://icl.cs.utk.edu/lapack-for-windows/include/lapacke.h -DFILE_TO_SAVE=${LAPACKE_LOCAL_PATH}/lapacke.h -P ${CMAKE_CURRENT_LIST_DIR}/DownloadFromUrl.cmake 
-    WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
-    VERBATIM
-    COMMAND_EXPAND_LISTS
-)
-
-add_custom_command(
-    OUTPUT ${LAPACKE_LOCAL_PATH}/liblapacke.dll
-    COMMAND ${CMAKE_COMMAND} -DURL_FOR_DOWNLOAD=https://icl.cs.utk.edu/lapack-for-windows/libraries/VisualStudio/3.7.0/Dynamic-MINGW/Win64/liblapacke.dll -DFILE_TO_SAVE=${LAPACKE_LOCAL_PATH}/liblapacke.dll -P ${CMAKE_CURRENT_LIST_DIR}/DownloadFromUrl.cmake 
-    WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
-    VERBATIM
-    COMMAND_EXPAND_LISTS
-)
-
-add_custom_command(
-    OUTPUT ${LAPACKE_LOCAL_PATH}/liblapacke.lib
-    COMMAND ${CMAKE_COMMAND} -DURL_FOR_DOWNLOAD=https://icl.cs.utk.edu/lapack-for-windows/libraries/VisualStudio/3.7.0/Dynamic-MINGW/Win64/liblapacke.lib -DFILE_TO_SAVE=${LAPACKE_LOCAL_PATH}/liblapacke.lib -P ${CMAKE_CURRENT_LIST_DIR}/DownloadFromUrl.cmake 
-    WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
-    VERBATIM
-    COMMAND_EXPAND_LISTS
-)
-
-set(ENV{LAPACKE_HEADERS} ${LAPACKE_LOCAL_PATH}/lapacke.h )
-list(APPEND LAPACKE_LIBRARIES "${LAPACKE_LOCAL_PATH}/liblapacke.lib")
-#"${LAPACKE_LOCAL_PATH}/liblapacke.dll"
-set(ENV{LAPACKE_LIBRARIES} ${LAPACKE_LIBRARIES})
-option(ENV{LAPACKE_LOCAL} ON)
-
-add_custom_target(lapacke_build DEPENDS ${LAPACKE_FILES})
diff --git a/DownloadOpenBLAS.cmake b/DownloadOpenBLAS.cmake
deleted file mode 100644
index 426a1cfa0bfedb87c439081f920ae8f3d96030ca..0000000000000000000000000000000000000000
--- a/DownloadOpenBLAS.cmake
+++ /dev/null
@@ -1,63 +0,0 @@
-message("DownloadOpenBLAS starting...")
-
-set(OPENBLAS_LOCAL_PATH ${ROOT_DIR}/external_dependencies/OpenBLAS)
-
-include(FetchContent)
-
-#####################
-# Download OpenBLAS #
-#####################
-if(WIN32)
-    FetchContent_Declare(
-            OpenBLAS
-            SOURCE_DIR ${OPENBLAS_LOCAL_PATH}
-            URL https://github.com/JuliaLinearAlgebra/OpenBLASBuilder/releases/download/v0.3.0-3/OpenBLAS.v0.3.0.x86_64-w64-mingw32-gcc8.tar.gz
-    )
-
-    # See messages during 'git clone'
-    set(FETCHCONTENT_QUIET FALSE)
-
-    if(NOT OpenBLAS_POPULATED)
-        FetchContent_Populate(OpenBLAS)
-    endif()
-
-else()
-    FetchContent_Declare(
-        OpenBLAS
-        SOURCE_DIR ${OPENBLAS_LOCAL_PATH}
-        GIT_REPOSITORY https://github.com/xianyi/OpenBLAS.git
-    )
-
-    # See messages during 'git clone'
-    set(FETCHCONTENT_QUIET FALSE)
-
-    if(NOT OpenBLAS_POPULATED)
-        FetchContent_Populate(OpenBLAS)
-    endif()
-endif()
-
-if(NOT WIN32)
-    ###################################
-    # Build OpenBLAS (only for Linux) #
-    ###################################
-    execute_process(
-        COMMAND ${CMAKE_COMMAND} -j ${N_CORES} .
-        WORKING_DIRECTORY ${OPENBLAS_LOCAL_PATH}
-        RESULT_VARIABLE rv
-    )
-    if(NOT rv STREQUAL "0")
-        message("OpenBLAS build: cmake .: ${rv}")
-    endif()
-
-    # Build library
-    execute_process(
-        COMMAND ${CMAKE_COMMAND} --build . --config Release -j ${N_CORES}
-        WORKING_DIRECTORY ${OPENBLAS_LOCAL_PATH}
-        RESULT_VARIABLE rv
-    )
-    if(NOT rv STREQUAL "0")
-        message("OpenBLAS build: cmake --build: ${rv}")
-    endif()
-endif()
-
-find_package(OpenBLAS)
diff --git a/DownloadTurtle.cmake b/DownloadTurtle.cmake
deleted file mode 100644
index 8f55dc333137ea38eeaf21a37e1fb432e970e7e5..0000000000000000000000000000000000000000
--- a/DownloadTurtle.cmake
+++ /dev/null
@@ -1,25 +0,0 @@
-message("DownloadTurtle starting...")
-
-set(TURTLE_LOCAL_PATH ${CMAKE_CURRENT_LIST_DIR}/external_dependencies/turtle)
-
-include(FetchContent)
-
-###################
-# Download exprtk #
-###################
-FetchContent_Declare(
-    turtle
-    SOURCE_DIR ${TURTLE_LOCAL_PATH}
-    GIT_REPOSITORY https://github.com/mat007/turtle.git
-)
-
-set(FETCHCONTENT_QUIET FALSE)
-
-FetchContent_Populate(turtle)
-
-find_package(Turtle)
-
-if(NOT TURTLE_FOUND)
-    message(FATAL_ERROR "Turtle was not downloaded successfully!")
-endif()
-
diff --git a/FindArmadillo.cmake b/FindArmadillo.cmake
deleted file mode 100644
index 9682484b07a41cd335a0b4d450cf123cef8aedfd..0000000000000000000000000000000000000000
--- a/FindArmadillo.cmake
+++ /dev/null
@@ -1,37 +0,0 @@
-message("FindArmadillo starting...")
-
-# Find headers
-FIND_PATH(
-    ARMADILLO_INCLUDE_DIR
-
-    NAMES
-        armadillo
-
-    HINTS
-        $ENV{ARMADILLO_INCLUDE_DIR}
-        ${ARMADILLO_INCLUDE_DIR}
-        ${ROOT_DIR}/external_dependencies/armadillo/
-
-    PATHS
-        /usr
-        /home
-        /opt
-
-    PATH_SUFFIXES
-        include
-        armadillo
-        include/armadillo
-        local
-)
-
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(
-        armadillo
-        "Armadillo was NOT found!"
-        ARMADILLO_INCLUDE_DIR)
-
-if(armadillo_FOUND)
-    message(STATUS "Armadillo headers found.")
-    message(STATUS "ARMADILLO_INCLUDE_DIR: ${ARMADILLO_INCLUDE_DIR}")
-    set(ARMADILLO_ROOT ${ARMADILLO_INCLUDE_DIR}/..)
-endif()
diff --git a/FindOpenBLAS.cmake b/FindOpenBLAS.cmake
deleted file mode 100644
index 375a122b87b25b2df4a323b6e49347e3cf9306c6..0000000000000000000000000000000000000000
--- a/FindOpenBLAS.cmake
+++ /dev/null
@@ -1,60 +0,0 @@
-message("FindOpenBLAS starting...")
-
-FIND_PATH(
-    OpenBLAS_INCLUDE_DIR
-
-    NAMES
-        cblas.h
-
-    HINTS
-        ${OpenBLAS_INCLUDE_DIRECTORY}
-        $ENV{OpenBLAS_INCLUDE_DIRECTORY}
-        ${ROOT_DIR}/external_dependencies/OpenBLAS
-        /usr
-
-    PATH_SUFFIXES
-        include
-        include/x86_64-linux-gnu
-        include/OpenBLAS
-)
-
-FIND_LIBRARY(
-        OpenBLAS_LIBRARIES
-
-        NAMES
-        openblas
-
-        HINTS
-        ${OpenBLAS_LIBRARY_DIRECTORY}
-        $ENV{OpenBLAS_LIBRARY_DIRECTORY}
-        ${ROOT_DIR}/external_dependencies/OpenBLAS/
-        /usr
-
-        PATH_SUFFIXES
-        bin
-        lib
-        lib/x86_64-linux-gnu
-        local
-        include/OpenBLAS/lib
-)
-
-# Set OpenBLAS_Found
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(
-        OpenBLAS
-
-        FAIL_MESSAGE
-        "OpenBLAS was NOT found!"
-
-        REQUIRED_VARS
-        OpenBLAS_INCLUDE_DIR
-        OpenBLAS_LIBRARIES
-)
-
-IF (OpenBLAS_FOUND)
-   MESSAGE(STATUS "OpenBLAS was found.")
-   MESSAGE(STATUS "OpenBLAS_LIBRARIES: ${OpenBLAS_LIBRARIES}")
-   MESSAGE(STATUS "OpenBLAS_INCLUDE_DIR: ${OpenBLAS_INCLUDE_DIR}")
-ELSE()
-    MESSAGE(STATUS "Could not find OpenBLAS")
-ENDIF()
diff --git a/cmake/DownloadArmadillo.cmake b/cmake/DownloadArmadillo.cmake
index f2cc3bfaad50a4d0918ee5bf0cc60eafb15cfb1c..1f7c59c0b63e020974e223b055dc2b958617f9c4 100644
--- a/cmake/DownloadArmadillo.cmake
+++ b/cmake/DownloadArmadillo.cmake
@@ -1,27 +1,27 @@
-message("DownloadArmadillo starting...")
+MESSAGE("DownloadArmadillo starting...")
 
-set(ARMADILLO_LOCAL_PATH ${ROOT_DIR}/external_dependencies/armadillo)
+SET(ARMADILLO_LOCAL_PATH ${ROOT_DIR}/external_dependencies/armadillo)
 
-include(FetchContent)
+INCLUDE(FetchContent)
 
 ######################
 # Download Armadillo #
 ######################
-FetchContent_Declare(
+FETCHCONTENT_DECLARE(
     armadillo
     SOURCE_DIR ${ARMADILLO_LOCAL_PATH}
     GIT_REPOSITORY https://gitlab.com/conradsnicta/armadillo-code.git
     GIT_TAG 9.300.x  #TODO do some general solution!
 )
 
-set(FETCHCONTENT_QUIET FALSE)
+SET(FETCHCONTENT_QUIET FALSE)
 
-FetchContent_Populate(armadillo)
+FETCHCONTENT_POPULATE(armadillo)
 
-find_package(Armadillo)
+FIND_PACKAGE(Armadillo)
 
-if(NOT ARMADILLO_FOUND)
-    message(FATAL_ERROR "Armadillo was not downloaded successfully!")
-endif()
+IF(NOT ARMADILLO_FOUND)
+    MESSAGE(FATAL_ERROR "Armadillo was not downloaded successfully!")
+ENDIF()
 
-set(ENV{ARMADILLO_LOCAL_PATH} ${ARMADILLO_LOCAL_PATH})
+SET(ENV{ARMADILLO_LOCAL_PATH} ${ARMADILLO_LOCAL_PATH})
diff --git a/cmake/DownloadBoost.cmake b/cmake/DownloadBoost.cmake
index 5d516d7d48dbc06432c0e162a005610bbda5377f..0423d80457f0f4186c4d6e0fc985c1749e7d3674 100644
--- a/cmake/DownloadBoost.cmake
+++ b/cmake/DownloadBoost.cmake
@@ -1,94 +1,94 @@
-message("DownloadBoost starting...")
+MESSAGE("DownloadBoost starting...")
 
-set(BOOST_LOCAL_PATH ${ROOT_DIR}/external_dependencies/boost)
+SET(BOOST_LOCAL_PATH ${ROOT_DIR}/external_dependencies/boost)
 
-include(FetchContent)
+INCLUDE(FetchContent)
 
 ##################
 # Download Boost #
 ##################
-set(WINAPI_BOOST_LIB "")
-if(WIN32)
-    set(WINAPI_BOOST_LIB libs/winapi)
-endif()
+SET(WINAPI_BOOST_LIB "")
+IF(WIN32)
+    SET(WINAPI_BOOST_LIB libs/winapi)
+ENDIF()
 
-FetchContent_Declare(
+FETCHCONTENT_DECLARE(
     boost
     SOURCE_DIR ${BOOST_LOCAL_PATH}
     GIT_REPOSITORY https://github.com/boostorg/boost.git
     GIT_SUBMODULES tools/build tools/boost_install
-                    libs/system libs/random libs/serialization
-                    libs/config libs/headers libs/assert libs/core
-                    libs/integer libs/type_traits libs/mpl
-                    libs/preprocessor libs/throw_exception
-                    libs/utility libs/static_assert libs/smart_ptr
-                    libs/predef libs/move libs/io libs/iterator
-                    libs/detail libs/spirit libs/optional
-                    libs/function libs/type_index libs/bind
-                    libs/container_hash libs/array libs/test
-                    libs/timer libs/exception libs/algorithm
-                    libs/range libs/numeric libs/format
-                    libs/lexical_cast libs/concept_check
-                    libs/container libs/math libs/function_types
-                    libs/typeof ${WINAPI_BOOST_LIB}
+    libs/system libs/random libs/serialization
+    libs/config libs/headers libs/assert libs/core
+    libs/integer libs/type_traits libs/mpl
+    libs/preprocessor libs/throw_exception
+    libs/utility libs/static_assert libs/smart_ptr
+    libs/predef libs/move libs/io libs/iterator
+    libs/detail libs/spirit libs/optional
+    libs/function libs/type_index libs/bind
+    libs/container_hash libs/array libs/test
+    libs/timer libs/exception libs/algorithm
+    libs/range libs/numeric libs/format
+    libs/lexical_cast libs/concept_check
+    libs/container libs/math libs/function_types
+    libs/typeof ${WINAPI_BOOST_LIB}
 )
 
-set(FETCHCONTENT_QUIET FALSE)
+SET(FETCHCONTENT_QUIET FALSE)
 
-FetchContent_Populate(boost)
+FETCHCONTENT_POPULATE(boost)
 
 ###############
 # Build Boost #
 ###############
-set(BOOTSTRAP_CMD sh bootstrap.sh)
-set(B2_CMD ./b2 -j${N_CORES})
-if(WIN32)
-    set(BOOTSTRAP_CMD bootstrap.bat)
-    set(B2_CMD b2 -j${N_CORES})
-endif()
+SET(BOOTSTRAP_CMD sh bootstrap.sh)
+SET(B2_CMD ./b2 -j${N_CORES})
+IF(WIN32)
+    SET(BOOTSTRAP_CMD bootstrap.bat)
+    SET(B2_CMD b2 -j${N_CORES})
+ENDIF()
 
-execute_process(
+EXECUTE_PROCESS(
     COMMAND ${BOOTSTRAP_CMD}
     WORKING_DIRECTORY ${BOOST_LOCAL_PATH}
     RESULT_VARIABLE rv
 )
-if(NOT rv STREQUAL "0")
-    message("Boost build: bootstrap: ${rv}")
-endif()
+IF(NOT rv STREQUAL "0")
+    MESSAGE("Boost build: bootstrap: ${rv}")
+ENDIF()
 
-execute_process(
+EXECUTE_PROCESS(
     COMMAND ${B2_CMD} headers
     WORKING_DIRECTORY ${BOOST_LOCAL_PATH}
     RESULT_VARIABLE rv
 )
-if(NOT rv STREQUAL "0")
-    message("Boost build: b2 headers: ${rv}")
-endif()
+IF(NOT rv STREQUAL "0")
+    MESSAGE("Boost build: b2 headers: ${rv}")
+ENDIF()
 
-set(VARIANT release)
-if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
-    set(VARIANT debug)
-endif()
+SET(VARIANT release)
+IF(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
+    SET(VARIANT debug)
+ENDIF()
 
-execute_process(
+EXECUTE_PROCESS(
     COMMAND ${B2_CMD} -q cxxflags=-fPIC --layout=system variant=${VARIANT} link=${DEPENDENCIES_LINK_TYPE} address-model=64 --with-system --with-serialization --with-random
     WORKING_DIRECTORY ${BOOST_LOCAL_PATH}
     RESULT_VARIABLE rv
 )
-if(NOT rv STREQUAL "0")
-    message("Boost build: b2: ${rv}")
-endif()
+IF(NOT rv STREQUAL "0")
+    MESSAGE("Boost build: b2: ${rv}")
+ENDIF()
 
-find_package(
+FIND_PACKAGE(
     Boost
 
     COMPONENTS
-        system
-        serialization
-        random
+    system
+    serialization
+    random
 )
 
-if(NOT Boost_FOUND)
-    message(FATAL_ERROR "Boost was not downloaded successfully!")
-endif()
+IF(NOT Boost_FOUND)
+    MESSAGE(FATAL_ERROR "Boost was not downloaded successfully!")
+ENDIF()
 
diff --git a/cmake/DownloadExprtk.cmake b/cmake/DownloadExprtk.cmake
index e1689a71578c753b6b3005da9b9945122a9c1a57..a7d9c1df41d1991e93368ac35ea036c6f3f4a049 100644
--- a/cmake/DownloadExprtk.cmake
+++ b/cmake/DownloadExprtk.cmake
@@ -1,25 +1,25 @@
-message("DownloadExprtk starting...")
+MESSAGE("DownloadExprtk starting...")
 
-set(EXPRTK_LOCAL_PATH ${ROOT_DIR}/external_dependencies/exprtk)
+SET(EXPRTK_LOCAL_PATH ${ROOT_DIR}/external_dependencies/exprtk)
 
-include(FetchContent)
+INCLUDE(FetchContent)
 
 ###################
 # Download exprtk #
 ###################
-FetchContent_Declare(
+FETCHCONTENT_DECLARE(
     exprtk
     SOURCE_DIR ${EXPRTK_LOCAL_PATH}
     GIT_REPOSITORY https://github.com/ArashPartow/exprtk.git
 )
 
-set(FETCHCONTENT_QUIET FALSE)
+SET(FETCHCONTENT_QUIET FALSE)
 
-FetchContent_Populate(exprtk)
+FETCHCONTENT_POPULATE(exprtk)
 
-find_package(Exprtk)
+FIND_PACKAGE(Exprtk)
 
-if(NOT EXPRTK_FOUND)
-    message(FATAL_ERROR "Exprtk was not downloaded successfully!")
-endif()
+IF(NOT EXPRTK_FOUND)
+    MESSAGE(FATAL_ERROR "Exprtk was not downloaded successfully!")
+ENDIF()
 
diff --git a/cmake/DownloadFromURL.cmake b/cmake/DownloadFromURL.cmake
index b56342bd4cc3ec9e8cdaaeef0e8c74f8bc2fc99f..62c2d7cd2f154563aaba714cb09671b1d2c30bf9 100644
--- a/cmake/DownloadFromURL.cmake
+++ b/cmake/DownloadFromURL.cmake
@@ -1,3 +1,3 @@
-message(URL_FOR_DOWNLOAD: ${URL_FOR_DOWNLOAD})
-message(FILE_TO_SAVE: ${FILE_TO_SAVE})
-file(DOWNLOAD ${URL_FOR_DOWNLOAD} ${FILE_TO_SAVE})
+MESSAGE(URL_FOR_DOWNLOAD: ${URL_FOR_DOWNLOAD})
+MESSAGE(FILE_TO_SAVE: ${FILE_TO_SAVE})
+FILE(DOWNLOAD ${URL_FOR_DOWNLOAD} ${FILE_TO_SAVE})
diff --git a/cmake/DownloadLapacke.cmake b/cmake/DownloadLapacke.cmake
index ff666eb0922f00d99fae390e93546fe7f2904c8e..338829b3c330b271866d8ac1de1f2555e92c44a8 100644
--- a/cmake/DownloadLapacke.cmake
+++ b/cmake/DownloadLapacke.cmake
@@ -1,42 +1,42 @@
-message("DownloadLapacke starting...")
+MESSAGE("DownloadLapacke starting...")
 
-set(LAPACKE_LOCAL_PATH ${ROOT_DIR}/external_dependencies/Lapacke)
+SET(LAPACKE_LOCAL_PATH ${ROOT_DIR}/external_dependencies/Lapacke)
 
-include(FetchContent)
+INCLUDE(FetchContent)
 
 ####################
 # Download Lapacke #
 ####################
-set(LAPACKE_FILES ${LAPACKE_LOCAL_PATH}/lapacke.h ${LAPACKE_LOCAL_PATH}/liblapacke.dll ${LAPACKE_LOCAL_PATH}/liblapacke.lib)
+SET(LAPACKE_FILES ${LAPACKE_LOCAL_PATH}/lapacke.h ${LAPACKE_LOCAL_PATH}/liblapacke.dll ${LAPACKE_LOCAL_PATH}/liblapacke.lib)
 
-add_custom_command(
+ADD_CUSTOM_COMMAND(
     OUTPUT ${LAPACKE_LOCAL_PATH}/lapacke.h
-    COMMAND ${CMAKE_COMMAND} -DURL_FOR_DOWNLOAD=https://icl.cs.utk.edu/lapack-for-windows/include/lapacke.h -DFILE_TO_SAVE=${LAPACKE_LOCAL_PATH}/lapacke.h -P ${CMAKE_CURRENT_LIST_DIR}/DownloadFromUrl.cmake 
+    COMMAND ${CMAKE_COMMAND} -DURL_FOR_DOWNLOAD=https://icl.cs.utk.edu/lapack-for-windows/include/lapacke.h -DFILE_TO_SAVE=${LAPACKE_LOCAL_PATH}/lapacke.h -P ${CMAKE_CURRENT_LIST_DIR}/DownloadFromUrl.cmake
     WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
     VERBATIM
     COMMAND_EXPAND_LISTS
 )
 
-add_custom_command(
+ADD_CUSTOM_COMMAND(
     OUTPUT ${LAPACKE_LOCAL_PATH}/liblapacke.dll
-    COMMAND ${CMAKE_COMMAND} -DURL_FOR_DOWNLOAD=https://icl.cs.utk.edu/lapack-for-windows/libraries/VisualStudio/3.7.0/Dynamic-MINGW/Win64/liblapacke.dll -DFILE_TO_SAVE=${LAPACKE_LOCAL_PATH}/liblapacke.dll -P ${CMAKE_CURRENT_LIST_DIR}/DownloadFromUrl.cmake 
+    COMMAND ${CMAKE_COMMAND} -DURL_FOR_DOWNLOAD=https://icl.cs.utk.edu/lapack-for-windows/libraries/VisualStudio/3.7.0/Dynamic-MINGW/Win64/liblapacke.dll -DFILE_TO_SAVE=${LAPACKE_LOCAL_PATH}/liblapacke.dll -P ${CMAKE_CURRENT_LIST_DIR}/DownloadFromUrl.cmake
     WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
     VERBATIM
     COMMAND_EXPAND_LISTS
 )
 
-add_custom_command(
+ADD_CUSTOM_COMMAND(
     OUTPUT ${LAPACKE_LOCAL_PATH}/liblapacke.lib
-    COMMAND ${CMAKE_COMMAND} -DURL_FOR_DOWNLOAD=https://icl.cs.utk.edu/lapack-for-windows/libraries/VisualStudio/3.7.0/Dynamic-MINGW/Win64/liblapacke.lib -DFILE_TO_SAVE=${LAPACKE_LOCAL_PATH}/liblapacke.lib -P ${CMAKE_CURRENT_LIST_DIR}/DownloadFromUrl.cmake 
+    COMMAND ${CMAKE_COMMAND} -DURL_FOR_DOWNLOAD=https://icl.cs.utk.edu/lapack-for-windows/libraries/VisualStudio/3.7.0/Dynamic-MINGW/Win64/liblapacke.lib -DFILE_TO_SAVE=${LAPACKE_LOCAL_PATH}/liblapacke.lib -P ${CMAKE_CURRENT_LIST_DIR}/DownloadFromUrl.cmake
     WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
     VERBATIM
     COMMAND_EXPAND_LISTS
 )
 
-set(ENV{LAPACKE_HEADERS} ${LAPACKE_LOCAL_PATH}/lapacke.h )
-list(APPEND LAPACKE_LIBRARIES "${LAPACKE_LOCAL_PATH}/liblapacke.lib")
+SET(ENV{LAPACKE_HEADERS} ${LAPACKE_LOCAL_PATH}/lapacke.h)
+LIST(APPEND LAPACKE_LIBRARIES "${LAPACKE_LOCAL_PATH}/liblapacke.lib")
 #"${LAPACKE_LOCAL_PATH}/liblapacke.dll"
-set(ENV{LAPACKE_LIBRARIES} ${LAPACKE_LIBRARIES})
-option(ENV{LAPACKE_LOCAL} ON)
+SET(ENV{LAPACKE_LIBRARIES} ${LAPACKE_LIBRARIES})
+OPTION(ENV{LAPACKE_LOCAL} ON)
 
-add_custom_target(lapacke_build DEPENDS ${LAPACKE_FILES})
+ADD_CUSTOM_TARGET(lapacke_build DEPENDS ${LAPACKE_FILES})
diff --git a/cmake/DownloadOpenBLAS.cmake b/cmake/DownloadOpenBLAS.cmake
index 426a1cfa0bfedb87c439081f920ae8f3d96030ca..e011dd08d77973ee1e50b35edd72d8d42f20ab00 100644
--- a/cmake/DownloadOpenBLAS.cmake
+++ b/cmake/DownloadOpenBLAS.cmake
@@ -1,63 +1,63 @@
-message("DownloadOpenBLAS starting...")
+MESSAGE("DownloadOpenBLAS starting...")
 
-set(OPENBLAS_LOCAL_PATH ${ROOT_DIR}/external_dependencies/OpenBLAS)
+SET(OPENBLAS_LOCAL_PATH ${ROOT_DIR}/external_dependencies/OpenBLAS)
 
-include(FetchContent)
+INCLUDE(FetchContent)
 
 #####################
 # Download OpenBLAS #
 #####################
-if(WIN32)
-    FetchContent_Declare(
-            OpenBLAS
-            SOURCE_DIR ${OPENBLAS_LOCAL_PATH}
-            URL https://github.com/JuliaLinearAlgebra/OpenBLASBuilder/releases/download/v0.3.0-3/OpenBLAS.v0.3.0.x86_64-w64-mingw32-gcc8.tar.gz
+IF(WIN32)
+    FETCHCONTENT_DECLARE(
+        OpenBLAS
+        SOURCE_DIR ${OPENBLAS_LOCAL_PATH}
+        URL https://github.com/JuliaLinearAlgebra/OpenBLASBuilder/releases/download/v0.3.0-3/OpenBLAS.v0.3.0.x86_64-w64-mingw32-gcc8.tar.gz
     )
 
     # See messages during 'git clone'
-    set(FETCHCONTENT_QUIET FALSE)
+    SET(FETCHCONTENT_QUIET FALSE)
 
-    if(NOT OpenBLAS_POPULATED)
-        FetchContent_Populate(OpenBLAS)
-    endif()
+    IF(NOT OpenBLAS_POPULATED)
+        FETCHCONTENT_POPULATE(OpenBLAS)
+    ENDIF()
 
-else()
-    FetchContent_Declare(
+ELSE()
+    FETCHCONTENT_DECLARE(
         OpenBLAS
         SOURCE_DIR ${OPENBLAS_LOCAL_PATH}
         GIT_REPOSITORY https://github.com/xianyi/OpenBLAS.git
     )
 
     # See messages during 'git clone'
-    set(FETCHCONTENT_QUIET FALSE)
+    SET(FETCHCONTENT_QUIET FALSE)
 
-    if(NOT OpenBLAS_POPULATED)
-        FetchContent_Populate(OpenBLAS)
-    endif()
-endif()
+    IF(NOT OpenBLAS_POPULATED)
+        FETCHCONTENT_POPULATE(OpenBLAS)
+    ENDIF()
+ENDIF()
 
-if(NOT WIN32)
+IF(NOT WIN32)
     ###################################
     # Build OpenBLAS (only for Linux) #
     ###################################
-    execute_process(
+    EXECUTE_PROCESS(
         COMMAND ${CMAKE_COMMAND} -j ${N_CORES} .
         WORKING_DIRECTORY ${OPENBLAS_LOCAL_PATH}
         RESULT_VARIABLE rv
     )
-    if(NOT rv STREQUAL "0")
-        message("OpenBLAS build: cmake .: ${rv}")
-    endif()
+    IF(NOT rv STREQUAL "0")
+        MESSAGE("OpenBLAS build: cmake .: ${rv}")
+    ENDIF()
 
     # Build library
-    execute_process(
+    EXECUTE_PROCESS(
         COMMAND ${CMAKE_COMMAND} --build . --config Release -j ${N_CORES}
         WORKING_DIRECTORY ${OPENBLAS_LOCAL_PATH}
         RESULT_VARIABLE rv
     )
-    if(NOT rv STREQUAL "0")
-        message("OpenBLAS build: cmake --build: ${rv}")
-    endif()
-endif()
+    IF(NOT rv STREQUAL "0")
+        MESSAGE("OpenBLAS build: cmake --build: ${rv}")
+    ENDIF()
+ENDIF()
 
-find_package(OpenBLAS)
+FIND_PACKAGE(OpenBLAS)
diff --git a/cmake/DownloadTurtle.cmake b/cmake/DownloadTurtle.cmake
index c7fbb563b5df4baf185a6d493b2b5587bb3d9dfe..eff09cbeb980a62a91af79d5753ac7809660c227 100644
--- a/cmake/DownloadTurtle.cmake
+++ b/cmake/DownloadTurtle.cmake
@@ -1,25 +1,25 @@
-message("DownloadTurtle starting...")
+MESSAGE("DownloadTurtle starting...")
 
-set(TURTLE_LOCAL_PATH ${ROOT_DIR}/external_dependencies/turtle)
+SET(TURTLE_LOCAL_PATH ${ROOT_DIR}/external_dependencies/turtle)
 
-include(FetchContent)
+INCLUDE(FetchContent)
 
 ###################
 # Download exprtk #
 ###################
-FetchContent_Declare(
+FETCHCONTENT_DECLARE(
     turtle
     SOURCE_DIR ${TURTLE_LOCAL_PATH}
     GIT_REPOSITORY https://github.com/mat007/turtle.git
 )
 
-set(FETCHCONTENT_QUIET FALSE)
+SET(FETCHCONTENT_QUIET FALSE)
 
-FetchContent_Populate(turtle)
+FETCHCONTENT_POPULATE(turtle)
 
-find_package(Turtle)
+FIND_PACKAGE(Turtle)
 
-if(NOT TURTLE_FOUND)
-    message(FATAL_ERROR "Turtle was not downloaded successfully!")
-endif()
+IF(NOT TURTLE_FOUND)
+    MESSAGE(FATAL_ERROR "Turtle was not downloaded successfully!")
+ENDIF()
 
diff --git a/cmake/FindArmadillo.cmake b/cmake/FindArmadillo.cmake
index 9682484b07a41cd335a0b4d450cf123cef8aedfd..89e559c0aa93c50fc17ed8492d30122819f2ca8a 100644
--- a/cmake/FindArmadillo.cmake
+++ b/cmake/FindArmadillo.cmake
@@ -1,37 +1,37 @@
-message("FindArmadillo starting...")
+MESSAGE("FindArmadillo starting...")
 
 # Find headers
 FIND_PATH(
     ARMADILLO_INCLUDE_DIR
 
     NAMES
-        armadillo
+    armadillo
 
     HINTS
-        $ENV{ARMADILLO_INCLUDE_DIR}
-        ${ARMADILLO_INCLUDE_DIR}
-        ${ROOT_DIR}/external_dependencies/armadillo/
+    $ENV{ARMADILLO_INCLUDE_DIR}
+    ${ARMADILLO_INCLUDE_DIR}
+    ${ROOT_DIR}/external_dependencies/armadillo/
 
     PATHS
-        /usr
-        /home
-        /opt
+    /usr
+    /home
+    /opt
 
     PATH_SUFFIXES
-        include
-        armadillo
-        include/armadillo
-        local
+    include
+    armadillo
+    include/armadillo
+    local
 )
 
 INCLUDE(FindPackageHandleStandardArgs)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(
-        armadillo
-        "Armadillo was NOT found!"
-        ARMADILLO_INCLUDE_DIR)
+    armadillo
+    "Armadillo was NOT found!"
+    ARMADILLO_INCLUDE_DIR)
 
-if(armadillo_FOUND)
-    message(STATUS "Armadillo headers found.")
-    message(STATUS "ARMADILLO_INCLUDE_DIR: ${ARMADILLO_INCLUDE_DIR}")
-    set(ARMADILLO_ROOT ${ARMADILLO_INCLUDE_DIR}/..)
-endif()
+IF(armadillo_FOUND)
+    MESSAGE(STATUS "Armadillo headers found.")
+    MESSAGE(STATUS "ARMADILLO_INCLUDE_DIR: ${ARMADILLO_INCLUDE_DIR}")
+    SET(ARMADILLO_ROOT ${ARMADILLO_INCLUDE_DIR}/..)
+ENDIF()
diff --git a/cmake/FindBoost.cmake b/cmake/FindBoost.cmake
index 8dd2d2bc1ee90b594cf15e7d81dc60caef7b3dbd..bd7c8d6d75904db1bec762f2013ced1450d94e18 100644
--- a/cmake/FindBoost.cmake
+++ b/cmake/FindBoost.cmake
@@ -23,141 +23,141 @@
 # Module usage
 # TODO
 
-message("FindBoost starting...")
+MESSAGE("FindBoost starting...")
 
 # Check if needed Boost components were specified
-if(NOT Boost_FIND_COMPONENTS)
-    message(FATAL_ERROR "No Boost components were specified! Please, set them correctly with flag COMPONENTS (see Module Usage section in this script).")
-else()
-    message("Required Boost components: ${Boost_FIND_COMPONENTS}")
-endif()
+IF(NOT Boost_FIND_COMPONENTS)
+    MESSAGE(FATAL_ERROR "No Boost components were specified! Please, set them correctly with flag COMPONENTS (see Module Usage section in this script).")
+ELSE()
+    MESSAGE("Required Boost components: ${Boost_FIND_COMPONENTS}")
+ENDIF()
 
 # Look for a standard boost header file.
-set(Boost_INCLUDE_DIRS "Boost_INCLUDE_DIRS-NOTFOUND")
-find_path(
+SET(Boost_INCLUDE_DIRS "Boost_INCLUDE_DIRS-NOTFOUND")
+FIND_PATH(
     Boost_INCLUDE_DIRS
 
     NAMES
-        config.hpp
+    config.hpp
 
     HINTS
-        $ENV{BOOST_ROOT}
-        $ENV{BOOST_ROOT}/boost
-        ${BOOST_INCLUDEDIR}
-        $ENV{BOOST_INCLUDEDIR}
-        ${ROOT_DIR}/external_dependencies/boost
-        ${ROOT_DIR}/external_dependencies/boost/src/boost
+    $ENV{BOOST_ROOT}
+    $ENV{BOOST_ROOT}/boost
+    ${BOOST_INCLUDEDIR}
+    $ENV{BOOST_INCLUDEDIR}
+    ${ROOT_DIR}/external_dependencies/boost
+    ${ROOT_DIR}/external_dependencies/boost/src/boost
 
     PATHS
-        /usr/include
+    /usr/include
 
     PATH_SUFFIXES
-        boost
-        include
+    boost
+    include
 )
 
 # Add path without "boost" include sub-directory to include path,
 # as Boost headers are supposed to be included like
 # #include<boost/...> according to the documentation
-set(TMP "")
-string(REPLACE "/boost/boost" "/boost" TMP ${Boost_INCLUDE_DIRS})
-list(APPEND Boost_INCLUDE_DIRS ${TMP})
+SET(TMP "")
+STRING(REPLACE "/boost/boost" "/boost" TMP ${Boost_INCLUDE_DIRS})
+LIST(APPEND Boost_INCLUDE_DIRS ${TMP})
 
-if(NOT Boost_INCLUDE_DIRS)
+IF(NOT Boost_INCLUDE_DIRS)
     #    message(FATAL_ERROR "Boost include directory was not found! Please, set variable BOOST_INCLUDEDIR to the correct path.")
-else()
-    message("Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
-endif()
+ELSE()
+    MESSAGE("Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
+ENDIF()
 
 # Create a list of requested Boost libraries with "system" names
-if(NOT DEPENDENCIES_LINK_TYPE)
-    message(FATAL_ERROR "Variable DEPENDENCIES_LINK_TYPE is not set! Set it to 'static' or 'shared'.")
-endif()
+IF(NOT DEPENDENCIES_LINK_TYPE)
+    MESSAGE(FATAL_ERROR "Variable DEPENDENCIES_LINK_TYPE is not set! Set it to 'static' or 'shared'.")
+ENDIF()
 
-set(REQUESTED_BOOST_LIBS "")
-foreach(COMPONENT ${Boost_FIND_COMPONENTS})
-    list(APPEND REQUESTED_BOOST_LIBS "${LIB_PREFIX}boost_${COMPONENT}.${LIB_SUFFIX}")
-endforeach()
+SET(REQUESTED_BOOST_LIBS "")
+FOREACH(COMPONENT ${Boost_FIND_COMPONENTS})
+    LIST(APPEND REQUESTED_BOOST_LIBS "${LIB_PREFIX}boost_${COMPONENT}.${LIB_SUFFIX}")
+ENDFOREACH()
 
-message("REQUESTED_BOOST_LIBS: ${REQUESTED_BOOST_LIBS}")
+MESSAGE("REQUESTED_BOOST_LIBS: ${REQUESTED_BOOST_LIBS}")
 
 # Look for libraries specified by COMPONENTS flag
-set(Boost_LIBRARY_DIRS "Boost_LIBRARY_DIRS-NOTFOUND")
-find_path(
+SET(Boost_LIBRARY_DIRS "Boost_LIBRARY_DIRS-NOTFOUND")
+FIND_PATH(
     Boost_LIBRARY_DIRS
 
     NAMES
-        ${REQUESTED_BOOST_LIBS}
+    ${REQUESTED_BOOST_LIBS}
 
     HINTS
-        $ENV{BOOST_ROOT}
-        $ENV{BOOST_ROOT}/stage
-        $ENV{BOOST_ROOT}/stage/lib
-        ${BOOST_LIBRARYDIR}
-        $ENV{BOOST_LIBRARYDIR}
-        ${ROOT_DIR}/external_dependencies/boost
-        ${ROOT_DIR}/external_dependencies/boost/src/boost
-        ${ROOT_DIR}/external_dependencies/boost/stage
-        ${ROOT_DIR}/external_dependencies/boost/stage/lib
+    $ENV{BOOST_ROOT}
+    $ENV{BOOST_ROOT}/stage
+    $ENV{BOOST_ROOT}/stage/lib
+    ${BOOST_LIBRARYDIR}
+    $ENV{BOOST_LIBRARYDIR}
+    ${ROOT_DIR}/external_dependencies/boost
+    ${ROOT_DIR}/external_dependencies/boost/src/boost
+    ${ROOT_DIR}/external_dependencies/boost/stage
+    ${ROOT_DIR}/external_dependencies/boost/stage/lib
 
 
     PATHS
-        /usr/lib/boost
-        /usr/lib/x86_64-linux-gnu
+    /usr/lib/boost
+    /usr/lib/x86_64-linux-gnu
 
     PATH_SUFFIXES
-        lib
+    lib
 )
 
-if(NOT Boost_LIBRARY_DIRS)
+IF(NOT Boost_LIBRARY_DIRS)
     #message(FATAL_ERROR "Boost library directory was not found! Please, set variable BOOST_LIBRARYDIR to the correct path.")
-else()
-    message("Boost_LIBRARY_DIRS: ${Boost_LIBRARY_DIRS}")
-    
+ELSE()
+    MESSAGE("Boost_LIBRARY_DIRS: ${Boost_LIBRARY_DIRS}")
+
     # Construct list of libraries' names and make them
-	# targets, so they may be linked
-	set(Boost_LIBRARIES "")
-	foreach(LIBNAME ${REQUESTED_BOOST_LIBS})
-    	message("Looking for ${LIBNAME}...")
-	
-    	set(${LIBNAME} "${LIBNAME}-NOTFOUND")
-    	find_library(
-        	${LIBNAME}
-	
-        	NAMES
-        	${LIBNAME}
-	
-        	PATHS
-            	${Boost_LIBRARY_DIRS}
-	
-        	PATH_SUFFIXES
-            	stage/lib
-            	lib
-	
-        	NO_DEFAULT_PATH
-    	)
-	
-    	# Check, if the Boost component was found
-    	if("${${LIBNAME}}" STREQUAL "${LIBNAME}-NOTFOUND")
-        	#message(FATAL_ERROR "Boost library ${LIBNAME} was NOT found!\
-        	#                     Please, set variable BOOST_LIBRARYDIR to the correct path and check the library names\
-        	#                     format in your Boost installation.")
-    	else()
-        	message("${LIBNAME} was found: ${${LIBNAME}}")
+    # targets, so they may be linked
+    SET(Boost_LIBRARIES "")
+    FOREACH(LIBNAME ${REQUESTED_BOOST_LIBS})
+        MESSAGE("Looking for ${LIBNAME}...")
+
+        SET(${LIBNAME} "${LIBNAME}-NOTFOUND")
+        FIND_LIBRARY(
+            ${LIBNAME}
+
+            NAMES
+            ${LIBNAME}
+
+            PATHS
+            ${Boost_LIBRARY_DIRS}
+
+            PATH_SUFFIXES
+            stage/lib
+            lib
+
+            NO_DEFAULT_PATH
+        )
+
+        # Check, if the Boost component was found
+        IF("${${LIBNAME}}" STREQUAL "${LIBNAME}-NOTFOUND")
+            #message(FATAL_ERROR "Boost library ${LIBNAME} was NOT found!\
+            #                     Please, set variable BOOST_LIBRARYDIR to the correct path and check the library names\
+            #                     format in your Boost installation.")
+        ELSE()
+            MESSAGE("${LIBNAME} was found: ${${LIBNAME}}")
 
             # Add every found library as an IMPORTED target
-            string(TOUPPER ${DEPENDENCIES_LINK_TYPE} TMP)
-            string(REGEX REPLACE "^lib" "" TARGET_NAME ${LIBNAME})
-            string(REGEX REPLACE "\\.[a-z]*$" "" TARGET_NAME ${TARGET_NAME})
-            add_library(${TARGET_NAME} ${TMP} IMPORTED)
-            set_target_properties(${TARGET_NAME} PROPERTIES IMPORTED_LOCATION ${${LIBNAME}})
-            message("Created IMPORTED library target: ${TARGET_NAME}")
-    	endif()
-	
-    	list(APPEND Boost_LIBRARIES ${${LIBNAME}})
-	endforeach()
-	
-endif()
+            STRING(TOUPPER ${DEPENDENCIES_LINK_TYPE} TMP)
+            STRING(REGEX REPLACE "^lib" "" TARGET_NAME ${LIBNAME})
+            STRING(REGEX REPLACE "\\.[a-z]*$" "" TARGET_NAME ${TARGET_NAME})
+            ADD_LIBRARY(${TARGET_NAME} ${TMP} IMPORTED)
+            SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES IMPORTED_LOCATION ${${LIBNAME}})
+            MESSAGE("Created IMPORTED library target: ${TARGET_NAME}")
+        ENDIF()
+
+        LIST(APPEND Boost_LIBRARIES ${${LIBNAME}})
+    ENDFOREACH()
+
+ENDIF()
 
 
 # Set Boost_FOUND
@@ -166,15 +166,15 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(
     Boost
 
     FAIL_MESSAGE
-        "Boost was NOT found!"
+    "Boost was NOT found!"
 
     REQUIRED_VARS
-        Boost_INCLUDE_DIRS
-        Boost_LIBRARY_DIRS
+    Boost_INCLUDE_DIRS
+    Boost_LIBRARY_DIRS
 )
 
-if(Boost_FOUND)
-	message("Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
-	message("Boost_LIBRARY_DIRS: ${Boost_LIBRARY_DIRS}")
-	message("Boost_LIBRARIES: ${Boost_LIBRARIES}")
-endif()
+IF(Boost_FOUND)
+    MESSAGE("Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
+    MESSAGE("Boost_LIBRARY_DIRS: ${Boost_LIBRARY_DIRS}")
+    MESSAGE("Boost_LIBRARIES: ${Boost_LIBRARIES}")
+ENDIF()
diff --git a/cmake/FindExprtk.cmake b/cmake/FindExprtk.cmake
index a5a70c934165ee91af1ffc9769c2d420969f4af3..05ed480929eab69ade6ebc6079d0d750bd88b024 100644
--- a/cmake/FindExprtk.cmake
+++ b/cmake/FindExprtk.cmake
@@ -9,30 +9,30 @@
 #
 ################################################################################
 
-message("FindExprtk starting...")
+MESSAGE("FindExprtk starting...")
 
 # Find headers and libraries
 FIND_PATH(
     EXPRTK_INCLUDE_DIR
     NAMES
-        exprtk.hpp
+    exprtk.hpp
     HINTS
-     	$ENV{EXPRTK_INCLUDE_DIR}
-        $ENV{EXPRTK_ROOT}
-        ${EXPRTK_ROOT}
-        ${EXPRTK_INCLUDE_DIR}
-        ${ROOT_DIR}/external_dependencies/exprtk
+    $ENV{EXPRTK_INCLUDE_DIR}
+    $ENV{EXPRTK_ROOT}
+    ${EXPRTK_ROOT}
+    ${EXPRTK_INCLUDE_DIR}
+    ${ROOT_DIR}/external_dependencies/exprtk
 
     PATHS
-        /home
-        /usr/local
-        /usr
-        /opt/local
+    /home
+    /usr/local
+    /usr
+    /opt/local
 
     PATH_SUFFIXES
-        include
-        exprtk
-        include/exprtk
+    include
+    exprtk
+    include/exprtk
 )
 # Set EXPRTK_FOUND honoring the QUIET and REQUIRED arguments
 INCLUDE(FindPackageHandleStandardArgs)
@@ -45,7 +45,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(
 IF(EXPRTK_FOUND)
     # Include dirs
     SET(EXPRTK_INCLUDE_DIRS ${EXPRTK_INCLUDE_DIR})
-    message("Exprtk was successfully found.")
+    MESSAGE("Exprtk was successfully found.")
 ENDIF(EXPRTK_FOUND)
 
 # Advanced options for not cluttering the cmake UIs:
diff --git a/cmake/FindOpenBLAS.cmake b/cmake/FindOpenBLAS.cmake
index 375a122b87b25b2df4a323b6e49347e3cf9306c6..b7691e8a1c55cfcff7576ad9bcb664b7a55675c5 100644
--- a/cmake/FindOpenBLAS.cmake
+++ b/cmake/FindOpenBLAS.cmake
@@ -1,60 +1,60 @@
-message("FindOpenBLAS starting...")
+MESSAGE("FindOpenBLAS starting...")
 
 FIND_PATH(
     OpenBLAS_INCLUDE_DIR
 
     NAMES
-        cblas.h
+    cblas.h
 
     HINTS
-        ${OpenBLAS_INCLUDE_DIRECTORY}
-        $ENV{OpenBLAS_INCLUDE_DIRECTORY}
-        ${ROOT_DIR}/external_dependencies/OpenBLAS
-        /usr
+    ${OpenBLAS_INCLUDE_DIRECTORY}
+    $ENV{OpenBLAS_INCLUDE_DIRECTORY}
+    ${ROOT_DIR}/external_dependencies/OpenBLAS
+    /usr
 
     PATH_SUFFIXES
-        include
-        include/x86_64-linux-gnu
-        include/OpenBLAS
+    include
+    include/x86_64-linux-gnu
+    include/OpenBLAS
 )
 
 FIND_LIBRARY(
-        OpenBLAS_LIBRARIES
-
-        NAMES
-        openblas
-
-        HINTS
-        ${OpenBLAS_LIBRARY_DIRECTORY}
-        $ENV{OpenBLAS_LIBRARY_DIRECTORY}
-        ${ROOT_DIR}/external_dependencies/OpenBLAS/
-        /usr
-
-        PATH_SUFFIXES
-        bin
-        lib
-        lib/x86_64-linux-gnu
-        local
-        include/OpenBLAS/lib
+    OpenBLAS_LIBRARIES
+
+    NAMES
+    openblas
+
+    HINTS
+    ${OpenBLAS_LIBRARY_DIRECTORY}
+    $ENV{OpenBLAS_LIBRARY_DIRECTORY}
+    ${ROOT_DIR}/external_dependencies/OpenBLAS/
+    /usr
+
+    PATH_SUFFIXES
+    bin
+    lib
+    lib/x86_64-linux-gnu
+    local
+    include/OpenBLAS/lib
 )
 
 # Set OpenBLAS_Found
 INCLUDE(FindPackageHandleStandardArgs)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(
-        OpenBLAS
+    OpenBLAS
 
-        FAIL_MESSAGE
-        "OpenBLAS was NOT found!"
+    FAIL_MESSAGE
+    "OpenBLAS was NOT found!"
 
-        REQUIRED_VARS
-        OpenBLAS_INCLUDE_DIR
-        OpenBLAS_LIBRARIES
+    REQUIRED_VARS
+    OpenBLAS_INCLUDE_DIR
+    OpenBLAS_LIBRARIES
 )
 
-IF (OpenBLAS_FOUND)
-   MESSAGE(STATUS "OpenBLAS was found.")
-   MESSAGE(STATUS "OpenBLAS_LIBRARIES: ${OpenBLAS_LIBRARIES}")
-   MESSAGE(STATUS "OpenBLAS_INCLUDE_DIR: ${OpenBLAS_INCLUDE_DIR}")
+IF(OpenBLAS_FOUND)
+    MESSAGE(STATUS "OpenBLAS was found.")
+    MESSAGE(STATUS "OpenBLAS_LIBRARIES: ${OpenBLAS_LIBRARIES}")
+    MESSAGE(STATUS "OpenBLAS_INCLUDE_DIR: ${OpenBLAS_INCLUDE_DIR}")
 ELSE()
     MESSAGE(STATUS "Could not find OpenBLAS")
 ENDIF()
diff --git a/cmake/FindTurtle.cmake b/cmake/FindTurtle.cmake
index 463b0af5cfeca58790f655e8e6ddb62926ff3974..b8e6956ad0831191ff7b790aad01164804c305de 100644
--- a/cmake/FindTurtle.cmake
+++ b/cmake/FindTurtle.cmake
@@ -1,28 +1,28 @@
-message("FindTurtle starting...")
+MESSAGE("FindTurtle starting...")
 
 # Find headers and libraries
 FIND_PATH(
     TURTLE_INCLUDE_DIR
 
     NAMES
-        mock.hpp
+    mock.hpp
 
     HINTS
-        $ENV{TURTLE_INCLUDE_DIR}
-        ${TURTLE_INCLUDE_DIR}
-        ${ROOT_DIR}/external_dependencies/turtle/
+    $ENV{TURTLE_INCLUDE_DIR}
+    ${TURTLE_INCLUDE_DIR}
+    ${ROOT_DIR}/external_dependencies/turtle/
 
     PATHS
-        /usr
-        /home
-        /opt
+    /usr
+    /home
+    /opt
 
     PATH_SUFFIXES
-        include
-        turtle
-        include/turtle/include/turtle
-        include/turtle
-        local
+    include
+    turtle
+    include/turtle/include/turtle
+    include/turtle
+    local
 )
 # Set TURTLE_FOUND honoring the QUIET and REQUIRED arguments
 INCLUDE(FindPackageHandleStandardArgs)
@@ -35,15 +35,15 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(
 IF(TURTLE_FOUND)
     # Include dirs
     SET(TURTLE_INCLUDE_DIRS ${TURTLE_INCLUDE_DIR})
-    message("Turtle was successfully found.")
+    MESSAGE("Turtle was successfully found.")
 ELSE()
     #    MESSAGE(FATAL_ERROR "Set, please, the environmental variable TURTLE_INCLUDE_DIR to the folder, where 'mock.hpp' is located...")
 ENDIF(TURTLE_FOUND)
 
 # Add path only to the 'include' folder
-set(TMP "")
-string(REGEX REPLACE "/turtle$" "" TMP ${TURTLE_INCLUDE_DIR})
-list(APPEND TURTLE_INCLUDE_DIR ${TMP})
+SET(TMP "")
+STRING(REGEX REPLACE "/turtle$" "" TMP ${TURTLE_INCLUDE_DIR})
+LIST(APPEND TURTLE_INCLUDE_DIR ${TMP})
 
 # Advanced options for not cluttering the cmake UIs:
 MARK_AS_ADVANCED(TURTLE_INCLUDE_DIR)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index fa0044d47607fe9b85bc054b1b30a04980e950aa..de3c43c6dd97a8548060b180aa84299950af33bd 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,190 +1,190 @@
 # Handle undefined parameters
-if(NOT BUILD_LIB)
-    if(ENV{BUILD_LIB})
-        set(BUILD_LIB $ENV{BUILD_LIB})
-    else()
-        set(BUILD_LIB "yes")
-    endif()
-endif()
-
-if(NOT BUILD_EXAMPLES)
-    if(ENV{BUILD_EXAMPLES})
-        set(BUILD_EXAMPLES $ENV{BUILD_EXAMPLES})
-    else()
-        set(BUILD_EXAMPLES "no")
-    endif()
-endif()
-
-if(NOT BUILD_TESTS)
-    if(ENV{BUILD_TESTS})
-        set(BUILD_TESTS $ENV{BUILD_TESTS})
-    else()
-        set(BUILD_TESTS "no")
-    endif()
-endif()
-
-if ("${BUILD_LIB}" STREQUAL "yes")
-
-    set(LIBRARIES_OUTPUT_DIR ${PROJECT_BINARY_DIR}/lib)
-
-    set(LIB_TYPE "STATIC")
-    if (DEPENDENCIES_LINK_TYPE STREQUAL "shared")
-        set(LIB_TYPE "SHARED")
-    endif ()
-
-    add_library(
-            exprtk_wrap
-
-            ${LIB_TYPE}
-
-            General/ExprtkWrapper.cpp
+IF(NOT BUILD_LIB)
+    IF(ENV{BUILD_LIB})
+        SET(BUILD_LIB $ENV{BUILD_LIB})
+    ELSE()
+        SET(BUILD_LIB "yes")
+    ENDIF()
+ENDIF()
+
+IF(NOT BUILD_EXAMPLES)
+    IF(ENV{BUILD_EXAMPLES})
+        SET(BUILD_EXAMPLES $ENV{BUILD_EXAMPLES})
+    ELSE()
+        SET(BUILD_EXAMPLES "no")
+    ENDIF()
+ENDIF()
+
+IF(NOT BUILD_TESTS)
+    IF(ENV{BUILD_TESTS})
+        SET(BUILD_TESTS $ENV{BUILD_TESTS})
+    ELSE()
+        SET(BUILD_TESTS "no")
+    ENDIF()
+ENDIF()
+
+IF("${BUILD_LIB}" STREQUAL "yes")
+
+    SET(LIBRARIES_OUTPUT_DIR ${PROJECT_BINARY_DIR}/lib)
+
+    SET(LIB_TYPE "STATIC")
+    IF(DEPENDENCIES_LINK_TYPE STREQUAL "shared")
+        SET(LIB_TYPE "SHARED")
+    ENDIF()
+
+    ADD_LIBRARY(
+        exprtk_wrap
+
+        ${LIB_TYPE}
+
+        General/ExprtkWrapper.cpp
     )
-    
-    set_target_properties(
-            exprtk_wrap
-
-            PROPERTIES
-            ARCHIVE_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
-            LIBRARY_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
-            RUNTIME_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
+
+    SET_TARGET_PROPERTIES(
+        exprtk_wrap
+
+        PROPERTIES
+        ARCHIVE_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
+        LIBRARY_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
+        RUNTIME_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
     )
 
-    target_include_directories(
-            exprtk_wrap
+    TARGET_INCLUDE_DIRECTORIES(
+        exprtk_wrap
 
-            PRIVATE
-            ${EXPRTK_INCLUDE_DIR}
-            ${Boost_INCLUDE_DIRS}
-            ${SRC_DIR}
+        PRIVATE
+        ${EXPRTK_INCLUDE_DIR}
+        ${Boost_INCLUDE_DIRS}
+        ${SRC_DIR}
     )
 
-    target_link_libraries(
-            exprtk_wrap
+    TARGET_LINK_LIBRARIES(
+        exprtk_wrap
 
-            PRIVATE
-            ${Boost_LIBRARIES}
+        PRIVATE
+        ${Boost_LIBRARIES}
     )
 
-    if (NOT OpenBLAS_LIBRARIES)
-        set(OpenBLAS_LIBRARIES "")
-    endif ()
-
-    if (NOT BLAS_LIBRARIES)
-        set(BLAS_LIBRARIES "")
-    endif ()
-
-    if (NOT LAPACK_LIBRARIES)
-        set(LAPACK_LIBRARIES "")
-    endif ()
-
-    add_library(
-            lib4neuro
-
-            ${LIB_TYPE}
-
-            Neuron/Neuron.cpp
-            Neuron/NeuronBinary.cpp
-            Neuron/NeuronConstant.cpp
-            Neuron/NeuronLinear.cpp
-            Neuron/NeuronLogistic.cpp
-            Network/NeuralNetwork.cpp
-            Network/NeuralNetworkSum.cpp
-            NetConnection/ConnectionFunctionGeneral.cpp
-            NetConnection/ConnectionFunctionIdentity.cpp
-            LearningMethods/LearningMethods.cpp
-            LearningMethods/ParticleSwarm.cpp
-            LearningMethods/GradientDescent.cpp
-            LearningMethods/LevenbergMarquardt.cpp
-            LearningMethods/GradientDescentBB.cpp
-            DataSet/DataSet.cpp
-            ErrorFunction/ErrorFunctions.cpp
-            Solvers/DESolver.cpp
-            CSVReader/CSVReader.cpp
-            CrossValidator/CrossValidator.cpp
-            NormalizationStrategy/NormalizationStrategy.cpp
-            LearningMethods/GradientDescentSingleItem.cpp
-            LearningMethods/LearningSequence.cpp
-            LearningMethods/RandomSolution.cpp
-            NetConnection/ConnectionFunctionConstant.cpp
-            Neuron/NeuronBiased.cpp
+    IF(NOT OpenBLAS_LIBRARIES)
+        SET(OpenBLAS_LIBRARIES "")
+    ENDIF()
+
+    IF(NOT BLAS_LIBRARIES)
+        SET(BLAS_LIBRARIES "")
+    ENDIF()
+
+    IF(NOT LAPACK_LIBRARIES)
+        SET(LAPACK_LIBRARIES "")
+    ENDIF()
+
+    ADD_LIBRARY(
+        lib4neuro
+
+        ${LIB_TYPE}
+
+        Neuron/Neuron.cpp
+        Neuron/NeuronBinary.cpp
+        Neuron/NeuronConstant.cpp
+        Neuron/NeuronLinear.cpp
+        Neuron/NeuronLogistic.cpp
+        Network/NeuralNetwork.cpp
+        Network/NeuralNetworkSum.cpp
+        NetConnection/ConnectionFunctionGeneral.cpp
+        NetConnection/ConnectionFunctionIdentity.cpp
+        LearningMethods/LearningMethods.cpp
+        LearningMethods/ParticleSwarm.cpp
+        LearningMethods/GradientDescent.cpp
+        LearningMethods/LevenbergMarquardt.cpp
+        LearningMethods/GradientDescentBB.cpp
+        DataSet/DataSet.cpp
+        ErrorFunction/ErrorFunctions.cpp
+        Solvers/DESolver.cpp
+        CSVReader/CSVReader.cpp
+        CrossValidator/CrossValidator.cpp
+        NormalizationStrategy/NormalizationStrategy.cpp
+        LearningMethods/GradientDescentSingleItem.cpp
+        LearningMethods/LearningSequence.cpp
+        LearningMethods/RandomSolution.cpp
+        NetConnection/ConnectionFunctionConstant.cpp
+        Neuron/NeuronBiased.cpp
     )
 
     # Detect Threading library
-    set(THREADS_PREFER_PTHREAD_FLAG ON)
-    find_package(Threads REQUIRED)
+    SET(THREADS_PREFER_PTHREAD_FLAG ON)
+    FIND_PACKAGE(Threads REQUIRED)
 
     # GFortran linking
-    set(GFORT "")
-    if (OpenBLAS_FOUND)
-        message("Linking GFortran because of OpenBLAS...")
-        set(GFORT gfortran)
-    endif ()
-
-    target_link_libraries(
-            lib4neuro
-
-            PRIVATE
-            exprtk_wrap
-            Threads::Threads
-            ${Boost_LIBRARIES}
-            ${CXX_FILESYSTEM_LIB}
-            ${OpenBLAS_LIBRARIES}
-            ${BLAS_LIBRARIES}
-            ${LAPACK_LIBRARIES}
-            ${GFORT}
+    SET(GFORT "")
+    IF(OpenBLAS_FOUND)
+        MESSAGE("Linking GFortran because of OpenBLAS...")
+        SET(GFORT gfortran)
+    ENDIF()
+
+    TARGET_LINK_LIBRARIES(
+        lib4neuro
+
+        PRIVATE
+        exprtk_wrap
+        Threads::Threads
+        ${Boost_LIBRARIES}
+        ${CXX_FILESYSTEM_LIB}
+        ${OpenBLAS_LIBRARIES}
+        ${BLAS_LIBRARIES}
+        ${LAPACK_LIBRARIES}
+        ${GFORT}
     )
 
-    target_include_directories(
-            lib4neuro
+    TARGET_INCLUDE_DIRECTORIES(
+        lib4neuro
 
-            PUBLIC
-            ${ROOT_DIR}/include
+        PUBLIC
+        ${ROOT_DIR}/include
 
-            PRIVATE
-            ${EXPRTK_INCLUDE_DIR}
-            ${SRC_DIR}
-            ${Boost_INCLUDE_DIRS}
-            ${ARMADILLO_INCLUDE_DIR}
+        PRIVATE
+        ${EXPRTK_INCLUDE_DIR}
+        ${SRC_DIR}
+        ${Boost_INCLUDE_DIRS}
+        ${ARMADILLO_INCLUDE_DIR}
     )
 
-    set_target_properties(
-            lib4neuro
+    SET_TARGET_PROPERTIES(
+        lib4neuro
 
-            PROPERTIES
-            ARCHIVE_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
-            LIBRARY_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
-            RUNTIME_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
+        PROPERTIES
+        ARCHIVE_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
+        LIBRARY_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
+        RUNTIME_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
     )
 
-    if ("${DEPENDENCIES_LINK_TYPE}" STREQUAL "static")
-        add_library(boost_unit_test STATIC boost_test_lib_dummy.cpp)
-    elseif ("${DEPENDENCIES_LINK_TYPE}" STREQUAL "shared")
-        add_library(boost_unit_test SHARED boost_test_lib_dummy.cpp)
-    endif ()
+    IF("${DEPENDENCIES_LINK_TYPE}" STREQUAL "static")
+        ADD_LIBRARY(boost_unit_test STATIC boost_test_lib_dummy.cpp)
+    ELSEIF("${DEPENDENCIES_LINK_TYPE}" STREQUAL "shared")
+        ADD_LIBRARY(boost_unit_test SHARED boost_test_lib_dummy.cpp)
+    ENDIF()
 
-    set_target_properties(
-            boost_unit_test
+    SET_TARGET_PROPERTIES(
+        boost_unit_test
 
-            PROPERTIES
-            ARCHIVE_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
-            LIBRARY_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
-            RUNTIME_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
+        PROPERTIES
+        ARCHIVE_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
+        LIBRARY_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
+        RUNTIME_OUTPUT_DIRECTORY $<1:${LIBRARIES_OUTPUT_DIR}>
     )
 
-    target_include_directories(
-            ${PREFIX}boost_unit_test
+    TARGET_INCLUDE_DIRECTORIES(
+        ${PREFIX}boost_unit_test
 
-            PRIVATE
-            ${Boost_INCLUDE_DIRS}
+        PRIVATE
+        ${Boost_INCLUDE_DIRS}
     )
 
-endif ()
+ENDIF()
 
-if ("${BUILD_TESTS}" STREQUAL "yes")
-    add_subdirectory(tests)
-endif ()
+IF("${BUILD_TESTS}" STREQUAL "yes")
+    ADD_SUBDIRECTORY(tests)
+ENDIF()
 
-if ("${BUILD_EXAMPLES}" STREQUAL "yes")
-    add_subdirectory(examples)
-endif ()
+IF("${BUILD_EXAMPLES}" STREQUAL "yes")
+    ADD_SUBDIRECTORY(examples)
+ENDIF()
 
diff --git a/src/CSVReader/CSVReader.cpp b/src/CSVReader/CSVReader.cpp
index b4f711f3536123eb6a4333a22cb8246e50c16765..68eed16fb0df1b6de95657ee324cd0faa96d3856 100644
--- a/src/CSVReader/CSVReader.cpp
+++ b/src/CSVReader/CSVReader.cpp
@@ -10,8 +10,7 @@
 #include "CSVReader.h"
 #include "exceptions.h"
 
-bool is_file_accessible(std::string file_path)
-{
+bool is_file_accessible(std::string file_path) {
     return std::ifstream(file_path).good();
 }
 
diff --git a/src/DataSet/DataSet.cpp b/src/DataSet/DataSet.cpp
index f81374e893ad9ea252478e39938044f6c8c19e92..e9046569b7f67ef03d4baecfb22f579ce0bc739c 100644
--- a/src/DataSet/DataSet.cpp
+++ b/src/DataSet/DataSet.cpp
@@ -97,7 +97,7 @@ namespace lib4neuro {
                                  output_func);
     }
 
-    DataSet::~DataSet(){
+    DataSet::~DataSet() {
 
     }
 
@@ -382,7 +382,7 @@ namespace lib4neuro {
         if (!this->normalized || !this->normalization_strategy) {
             return val;
         }
-        return this->normalization_strategy->de_normalize( val );
+        return this->normalization_strategy->de_normalize(val);
     }
 
     void DataSet::get_input(std::vector<double>& d,
diff --git a/src/ErrorFunction/ErrorFunctions.cpp b/src/ErrorFunction/ErrorFunctions.cpp
index 8f0484aef7e4ca894955ab60142bb3810de6476f..7d520471ea28840c63041657eb9bbe634d5f54e5 100644
--- a/src/ErrorFunction/ErrorFunctions.cpp
+++ b/src/ErrorFunction/ErrorFunctions.cpp
@@ -65,21 +65,24 @@ namespace lib4neuro {
         }
     }
 
-    void MSE::get_jacobian_and_rhs(std::vector<std::vector<double>> &jacobian, std::vector<double> &rhs) {
+    void MSE::get_jacobian_and_rhs(std::vector<std::vector<double>>& jacobian,
+                                   std::vector<double>& rhs) {
 //        size_t row_idx = 0;
         std::vector<double> partial_error(this->get_n_outputs());
-        rhs.resize( this->get_dimension());
-        std::fill(rhs.begin(), rhs.end(), 0.0);
+        rhs.resize(this->get_dimension());
+        std::fill(rhs.begin(),
+                  rhs.end(),
+                  0.0);
 
         std::vector<std::vector<double>> jac_loc;
         for (auto item: *this->ds->get_data()) {
 
             this->nets[0]->get_jacobian(jac_loc,
-                           item,
-                           partial_error);
+                                        item,
+                                        partial_error);
 
             for (size_t ri = 0; ri < jac_loc.size(); ++ri) {
-                jacobian.push_back( jac_loc[ri] );
+                jacobian.push_back(jac_loc[ri]);
 
                 for (size_t ci = 0; ci < this->get_dimension(); ++ci) {
 //                    J.at(row_idx,
@@ -103,8 +106,8 @@ namespace lib4neuro {
                                      std::vector<double>* weights) {
         std::vector<double> predicted_output(this->nets[0]->get_n_outputs());
         this->nets[0]->eval_single(*input,
-                               predicted_output,
-                               weights);
+                                   predicted_output,
+                                   weights);
         double result = 0;
         double val;
 
@@ -120,7 +123,7 @@ namespace lib4neuro {
                                  std::ofstream* results_file_path,
                                  std::vector<double>* weights,
                                  bool verbose
-                                 ) {
+    ) {
         size_t dim_in = data_set->get_input_dim();
         size_t dim_out = data_set->get_output_dim();
         double error = 0.0, val, output_norm = 0;
@@ -156,8 +159,8 @@ namespace lib4neuro {
         for (size_t i = 0; i < data->size(); i++) {  // Iterate through every element in the test set
             /* Compute the net output and store it into 'output' variable */
             this->nets[0]->eval_single(data->at(i).first,
-                                   output,
-                                   weights);
+                                       output,
+                                       weights);
 
             outputs.at(i) = output;
         }
@@ -326,17 +329,17 @@ namespace lib4neuro {
         for (auto el: *data) {  // Iterate through every element in the test set
 
             this->nets[0]->eval_single(el.first,
-                                   error_derivative,
-                                   &params);  // Compute the net output and store it into 'output' variable
+                                       error_derivative,
+                                       &params);  // Compute the net output and store it into 'output' variable
 
             for (size_t j = 0; j < dim_out; ++j) {
                 error_derivative.at(j) = 2.0 * (error_derivative.at(j) - el.second.at(j)); //real - expected result
             }
 
             this->nets[0]->add_to_gradient_single(el.first,
-                                              error_derivative,
-                                              alpha / n_elements,
-                                              grad);
+                                                  error_derivative,
+                                                  alpha / n_elements,
+                                                  grad);
         }
     }
 
@@ -399,9 +402,9 @@ namespace lib4neuro {
                   0);
         std::vector<double> dummy_input;
         this->nets[0]->add_to_gradient_single(dummy_input,
-                                          error_vector,
-                                          1.0,
-                                          gradient_vector);
+                                              error_vector,
+                                              1.0,
+                                              gradient_vector);
     }
 
     void
@@ -429,8 +432,8 @@ namespace lib4neuro {
         for (auto el: *data) {  // Iterate through every element in the test set
 
             this->nets[0]->eval_single_debug(el.first,
-                                         error_derivative,
-                                         &params);  // Compute the net output and store it into 'output' variable
+                                             error_derivative,
+                                             &params);  // Compute the net output and store it into 'output' variable
             std::cout << "Input[";
             for (auto v: el.first) {
                 std::cout << v << ", ";
@@ -490,8 +493,8 @@ namespace lib4neuro {
         double output = 0, val;
 
         this->nets[0]->eval_single(this->ds->get_data()->at(i).first,
-                               error_vector,
-                               parameter_vector);
+                                   error_vector,
+                                   parameter_vector);
 
         for (size_t j = 0; j < error_vector.size(); ++j) {  // Compute difference for every element of the output vector
             val = error_vector.at(j) - this->ds->get_data()->at(i).second.at(j);
@@ -509,17 +512,17 @@ namespace lib4neuro {
 
     std::vector<double> MSE::get_parameters() {
         std::vector<double> output(this->get_dimension());
-        for(size_t i = 0; i < this->nets[0]->get_n_weights(); ++i){
+        for (size_t i = 0; i < this->nets[0]->get_n_weights(); ++i) {
             output[i] = this->nets[0]->get_parameter_ptr_weights()->at(i);
         }
-        for(size_t i = 0; i < this->nets[0]->get_n_biases(); ++i){
+        for (size_t i = 0; i < this->nets[0]->get_n_biases(); ++i) {
             output[i + this->nets[0]->get_n_weights()] = this->nets[0]->get_parameter_ptr_biases()->at(i);
         }
         return output;
     }
 
-    void MSE::set_parameters(std::vector<double> &params) {
-        this->nets[0]->copy_parameter_space( &params );
+    void MSE::set_parameters(std::vector<double>& params) {
+        this->nets[0]->copy_parameter_space(&params);
     }
 
     size_t MSE::get_n_data_set() {
@@ -547,8 +550,8 @@ namespace lib4neuro {
     ErrorSum::~ErrorSum() {
         if (this->summand) {
 
-            for( auto el: *this->summand){
-                if(el){
+            for (auto el: *this->summand) {
+                if (el) {
                     delete el;
                 }
             }
@@ -724,10 +727,10 @@ namespace lib4neuro {
         return this->summand->at(0)->get_parameters();
     }
 
-    void ErrorSum::set_parameters(std::vector<double> &params) {
+    void ErrorSum::set_parameters(std::vector<double>& params) {
         //TODO may cause problems for general error sum...
-        for(auto n: *this->summand){
-            n->set_parameters( params );
+        for (auto n: *this->summand) {
+            n->set_parameters(params);
         }
     }
 
@@ -747,12 +750,15 @@ namespace lib4neuro {
         return 0;
     }
 
-    double ErrorSum::eval_on_single_input(std::vector<double> *input, std::vector<double> *output,
-                                          std::vector<double> *weights) {
+    double ErrorSum::eval_on_single_input(std::vector<double>* input,
+                                          std::vector<double>* output,
+                                          std::vector<double>* weights) {
         double o = 0.0;
 
-        for(size_t i = 0; i < this->summand->size(); ++i){
-            o += this->summand->at( i )->eval_on_single_input( input, output, weights ) * this->summand_coefficient.at( i );
+        for (size_t i = 0; i < this->summand->size(); ++i) {
+            o += this->summand->at(i)->eval_on_single_input(input,
+                                                            output,
+                                                            weights) * this->summand_coefficient.at(i);
         }
 
         return o;
@@ -761,8 +767,8 @@ namespace lib4neuro {
     size_t ErrorSum::get_n_data_set() {
         size_t o = 0;
 
-        for(size_t i = 0; i < this->summand->size(); ++i){
-            o += this->summand->at( i )->get_n_data_set();
+        for (size_t i = 0; i < this->summand->size(); ++i) {
+            o += this->summand->at(i)->get_n_data_set();
         }
 
         return o;
@@ -771,8 +777,8 @@ namespace lib4neuro {
     size_t ErrorSum::get_n_test_data_set() {
         size_t o = 0;
 
-        for(size_t i = 0; i < this->summand->size(); ++i){
-            o += this->summand->at( i )->get_n_test_data_set();
+        for (size_t i = 0; i < this->summand->size(); ++i) {
+            o += this->summand->at(i)->get_n_test_data_set();
         }
 
         return o;
@@ -781,41 +787,43 @@ namespace lib4neuro {
     size_t ErrorSum::get_n_outputs() {
         size_t o = 0;
 
-        for(size_t i = 0; i < this->summand->size(); ++i){
-            o += this->summand->at( i )->get_n_outputs();
+        for (size_t i = 0; i < this->summand->size(); ++i) {
+            o += this->summand->at(i)->get_n_outputs();
         }
 
         return o;
     }
 
     void ErrorSum::divide_data_train_test(double percent) {
-        for(auto n: *this->summand){
-            n->divide_data_train_test( percent );
+        for (auto n: *this->summand) {
+            n->divide_data_train_test(percent);
         }
     }
 
     void ErrorSum::return_full_data_set_for_training() {
-        for(auto n: *this->summand){
+        for (auto n: *this->summand) {
             n->return_full_data_set_for_training();
         }
     }
 
-    void ErrorSum::get_jacobian_and_rhs(std::vector<std::vector<double>> &jacobian, std::vector<double> &rhs) {
-        for(auto n: *this->summand){
+    void ErrorSum::get_jacobian_and_rhs(std::vector<std::vector<double>>& jacobian,
+                                        std::vector<double>& rhs) {
+        for (auto n: *this->summand) {
             std::vector<double> rhs_loc;
-            n->get_jacobian_and_rhs( jacobian, rhs_loc );
+            n->get_jacobian_and_rhs(jacobian,
+                                    rhs_loc);
 
             size_t curr_size = rhs.size();
             rhs.resize(curr_size + rhs_loc.size());
-            for(size_t i = 0; i < rhs_loc.size(); ++i){
+            for (size_t i = 0; i < rhs_loc.size(); ++i) {
                 rhs.at(i + curr_size) = rhs_loc.at(i);
             }
         }
     }
 
     void ErrorSum::randomize_parameters(double scaling) {
-        for(auto n: *this->summand){
-            n->randomize_parameters( scaling );
+        for (auto n: *this->summand) {
+            n->randomize_parameters(scaling);
         }
     }
 
diff --git a/src/ErrorFunction/ErrorFunctions.h b/src/ErrorFunction/ErrorFunctions.h
index 9ac3602ccbce5aa6866edf7de0f5ee483e064855..36911e94086272f34d06810303f47cbadbdb5966 100644
--- a/src/ErrorFunction/ErrorFunctions.h
+++ b/src/ErrorFunction/ErrorFunctions.h
@@ -99,7 +99,7 @@ namespace lib4neuro {
          *
          * @param params
          */
-        virtual void set_parameters(std::vector<double> &params) = 0;
+        virtual void set_parameters(std::vector<double>& params) = 0;
 
         /**
          *
@@ -118,7 +118,8 @@ namespace lib4neuro {
          * @param jacobian
          * @param rhs
          */
-        virtual void get_jacobian_and_rhs(std::vector<std::vector<double>> &jacobian, std::vector<double> &rhs) = 0;
+        virtual void get_jacobian_and_rhs(std::vector<std::vector<double>>& jacobian,
+                                          std::vector<double>& rhs) = 0;
 
         /**
          *
@@ -288,7 +289,8 @@ namespace lib4neuro {
          * @param jacobian
          * @param rhs
          */
-        LIB4NEURO_API virtual void get_jacobian_and_rhs(std::vector<std::vector<double>> &jacobian, std::vector<double> &rhs) override ;
+        LIB4NEURO_API virtual void get_jacobian_and_rhs(std::vector<std::vector<double>>& jacobian,
+                                                        std::vector<double>& rhs) override;
         /**
          *
          * @param weights
@@ -450,19 +452,19 @@ namespace lib4neuro {
          *
          * @param params
          */
-        LIB4NEURO_API virtual void set_parameters(std::vector<double> &params) override;
+        LIB4NEURO_API virtual void set_parameters(std::vector<double>& params) override;
 
         /**
          *
          * @return
          */
-        LIB4NEURO_API virtual size_t get_n_data_set() override ;
+        LIB4NEURO_API virtual size_t get_n_data_set() override;
 
         /**
          *
          * @return
          */
-        LIB4NEURO_API virtual size_t get_n_test_data_set() override ;
+        LIB4NEURO_API virtual size_t get_n_test_data_set() override;
 
         /**
          *
@@ -643,7 +645,7 @@ namespace lib4neuro {
          *
          * @param params
          */
-        LIB4NEURO_API virtual void set_parameters(std::vector<double> &params) override;
+        LIB4NEURO_API virtual void set_parameters(std::vector<double>& params) override;
 
         /**
          *
@@ -655,7 +657,7 @@ namespace lib4neuro {
          *
          * @return
          */
-        LIB4NEURO_API virtual size_t get_n_test_data_set() override ;
+        LIB4NEURO_API virtual size_t get_n_test_data_set() override;
 
         /**
          *
@@ -680,8 +682,8 @@ namespace lib4neuro {
          * @param rhs
          */
         LIB4NEURO_API virtual void get_jacobian_and_rhs(
-                std::vector<std::vector<double>> &jacobian,
-                std::vector<double> &rhs) override;
+                std::vector<std::vector<double>>& jacobian,
+                std::vector<double>& rhs) override;
 
         /**
          *
diff --git a/src/ErrorFunction/ErrorFunctionsMock.h b/src/ErrorFunction/ErrorFunctionsMock.h
index e754f6252367ce1120b77d07c6cae272bf722e70..489867c065102cd28dcfbbed20a623386cced0f8 100644
--- a/src/ErrorFunction/ErrorFunctionsMock.h
+++ b/src/ErrorFunction/ErrorFunctionsMock.h
@@ -11,69 +11,98 @@ using namespace lib4neuro;
 
 
 MOCK_BASE_CLASS(mock_ErrorFunction,
-        lib4neuro::ErrorFunction
+                lib4neuro::ErrorFunction
 ) {
-MOCK_METHOD(eval,
-3)
+    MOCK_METHOD(eval,
+                3)
 
-MOCK_METHOD(eval_on_single_input,
-3)
+    MOCK_METHOD(eval_on_single_input,
+                3)
 
-MOCK_METHOD(get_dimension,
-0)
+    MOCK_METHOD(get_dimension,
+                0)
 
-MOCK_METHOD(calculate_error_gradient,
-4)
+    MOCK_METHOD(calculate_error_gradient,
+                4)
 
-MOCK_METHOD(analyze_error_gradient,
-4)
+    MOCK_METHOD(analyze_error_gradient,
+                4)
 
-MOCK_METHOD(get_parameters,
-0)
+    MOCK_METHOD(get_parameters,
+                0)
 
-MOCK_METHOD(get_n_data_set,
-0)
+    MOCK_METHOD(get_n_data_set,
+                0)
 
-MOCK_METHOD(get_n_test_data_set,
-0)
+    MOCK_METHOD(get_n_test_data_set,
+                0)
 
-MOCK_METHOD(get_n_outputs,
-0)
+    MOCK_METHOD(get_n_outputs,
+                0)
 
-MOCK_METHOD(set_parameters,
-1)
+    MOCK_METHOD(set_parameters,
+                1)
 
-MOCK_METHOD(divide_data_train_test,
-1)
+    MOCK_METHOD(divide_data_train_test,
+                1)
 
-MOCK_METHOD(return_full_data_set_for_training,
-0)
+    MOCK_METHOD(return_full_data_set_for_training,
+                0)
 
-MOCK_METHOD(get_jacobian_and_rhs,
-2)
+    MOCK_METHOD(get_jacobian_and_rhs,
+                2)
 
-MOCK_METHOD(eval_on_test_data, 2, double(std::vector<double>*, bool), id1)
+    MOCK_METHOD(eval_on_test_data,
+                2,
+                double(std::vector<double>
+                        *, bool),
+                id1)
 
-MOCK_METHOD(eval_on_test_data, 3, double(std::string, std::vector<double>*, bool), id2)
+    MOCK_METHOD(eval_on_test_data,
+                3,
+                double(std::string, std::vector<double>
+                        *, bool),
+                id2)
 
-MOCK_METHOD(eval_on_test_data, 3, double(std::ofstream*, std::vector<double>*, bool), id3)
+    MOCK_METHOD(eval_on_test_data,
+                3,
+                double(std::ofstream
+                        *, std::vector<double> *, bool),
+                id3)
 
-MOCK_METHOD(eval_on_data_set, 3, double(DataSet*, std::vector<double>*, bool), id4)
+    MOCK_METHOD(eval_on_data_set,
+                3,
+                double(DataSet
+                        *, std::vector<double> *, bool),
+                id4)
 
-MOCK_METHOD(eval_on_data_set, 4, double(DataSet*, std::string, std::vector<double>*, bool), id5)
+    MOCK_METHOD(eval_on_data_set,
+                4,
+                double(DataSet
+                        *, std::string, std::vector<double> *, bool),
+                id5)
 
-MOCK_METHOD(eval_on_data_set, 4, double(DataSet*, std::ofstream *, std::vector<double> *, bool), id6)
+    MOCK_METHOD(eval_on_data_set,
+                4,
+                double(DataSet
+                        *, std::ofstream *, std::vector<double> *, bool),
+                id6)
 
 
-MOCK_METHOD(eval_single_item_by_idx, 3)
+    MOCK_METHOD(eval_single_item_by_idx,
+                3)
 
-MOCK_METHOD(calculate_error_gradient_single, 2)
+    MOCK_METHOD(calculate_error_gradient_single,
+                2)
 
-MOCK_METHOD(calculate_residual_gradient, 4)
+    MOCK_METHOD(calculate_residual_gradient,
+                4)
 
-MOCK_METHOD(calculate_single_residual, 3)
+    MOCK_METHOD(calculate_single_residual,
+                3)
 
-MOCK_METHOD(randomize_parameters, 1)
+    MOCK_METHOD(randomize_parameters,
+                1)
 };
 
 #endif //LIB4NEURO_ERRORFUNCTIONSMOCK_H
diff --git a/src/LearningMethods/GradientDescentBB.cpp b/src/LearningMethods/GradientDescentBB.cpp
index 7af37f31638b51bf05d87b0d8f246b5f019df1e4..4269e10ae9c61ecf9b01bfc85638a686499a560c 100644
--- a/src/LearningMethods/GradientDescentBB.cpp
+++ b/src/LearningMethods/GradientDescentBB.cpp
@@ -206,7 +206,7 @@ namespace lib4neuro {
 
         delete gradient_current;
         delete gradient_prev;
-        delete params_current ;
+        delete params_current;
         delete params_prev;
         delete params_best;
 
diff --git a/src/LearningMethods/LevenbergMarquardt.cpp b/src/LearningMethods/LevenbergMarquardt.cpp
index 778ee70ba39c97bfc320069153ff1d108bd94691..a55879a507e96f9c73cb0573eebe829c125e328e 100644
--- a/src/LearningMethods/LevenbergMarquardt.cpp
+++ b/src/LearningMethods/LevenbergMarquardt.cpp
@@ -52,21 +52,24 @@ void lib4neuro::LevenbergMarquardt::LevenbergMarquardtImpl::get_jacobian_and_rhs
     std::vector<std::vector<double>> jacobian;
     std::vector<double> rhs_vec;
 
-    ef.divide_data_train_test((double)data_subset_size / (double)ef.get_n_data_set());
-    ef.get_jacobian_and_rhs(jacobian, rhs_vec);
+    ef.divide_data_train_test((double) data_subset_size / (double) ef.get_n_data_set());
+    ef.get_jacobian_and_rhs(jacobian,
+                            rhs_vec);
     ef.return_full_data_set_for_training();
 
     size_t dim_out = jacobian.size();
     size_t n_parameters = rhs_vec.size();
 
-    J.reshape(dim_out, n_parameters);
+    J.reshape(dim_out,
+              n_parameters);
     rhs.resize(n_parameters);
     J.fill(0.0);
     rhs.fill(0.0);
 
     for (size_t ri = 0; ri < jacobian.size(); ++ri) {
         for (size_t ci = 0; ci < n_parameters; ++ci) {
-            J.at(ri, ci) = jacobian[ri][ci];
+            J.at(ri,
+                 ci) = jacobian[ri][ci];
         }
     }
     for (size_t ci = 0; ci < n_parameters; ++ci) {
diff --git a/src/Network/NeuralNetwork.h b/src/Network/NeuralNetwork.h
index 7a749ac09690c596e67332a615035b7159fd8476..c498374f955887ea6c789f8fa1bb8a9125a22d08 100644
--- a/src/Network/NeuralNetwork.h
+++ b/src/Network/NeuralNetwork.h
@@ -463,7 +463,7 @@ namespace lib4neuro {
          *
          * @return
          */
-         //TODO WHY IS THIS HERE?
+        //TODO WHY IS THIS HERE?
         LIB4NEURO_API NormalizationStrategy* get_normalization_strategy_instance();
 
         /**
diff --git a/src/NormalizationStrategy/NormalizationStrategy.h b/src/NormalizationStrategy/NormalizationStrategy.h
index a015d236f7a749a2e87286004869c7d73e46a0bc..ae961f6e70edeb593e5acb9cfd6da051264036ae 100644
--- a/src/NormalizationStrategy/NormalizationStrategy.h
+++ b/src/NormalizationStrategy/NormalizationStrategy.h
@@ -23,7 +23,7 @@ public:
      */
     struct access;
 
-    virtual ~NormalizationStrategy () = default;
+    virtual ~NormalizationStrategy() = default;
 
     /**
      *
diff --git a/src/Solvers/DESolver.cpp b/src/Solvers/DESolver.cpp
index 0d4af86a2b0546a0c37d96364b1de270bf681536..6ce5c9903b4336f9c6e5d78c0b66ac3cc5098b3e 100644
--- a/src/Solvers/DESolver.cpp
+++ b/src/Solvers/DESolver.cpp
@@ -380,7 +380,7 @@ namespace lib4neuro {
 
     void DESolver::set_error_function(size_t equation_idx,
                                       ErrorFunctionType F,
-                                      DataSet &conditions) {
+                                      DataSet& conditions) {
         if (equation_idx >= this->n_equations) {
             THROW_INVALID_ARGUMENT_ERROR("The parameter 'equation_idx' is too large! It exceeds the number of differential equations.");
         }
diff --git a/src/Solvers/DESolver.h b/src/Solvers/DESolver.h
index dc0288e6c25367d57953e23aa8d9c92f8543c931..05c1c0fba16e8f42015737fbce66e18d0f5413da 100644
--- a/src/Solvers/DESolver.h
+++ b/src/Solvers/DESolver.h
@@ -151,7 +151,7 @@ namespace lib4neuro {
          */
         LIB4NEURO_API void set_error_function(size_t equation_idx,
                                               ErrorFunctionType F,
-                                              DataSet &conditions);
+                                              DataSet& conditions);
 
         /**
          *
diff --git a/src/examples/net_test_ode_1.cpp b/src/examples/net_test_ode_1.cpp
index 7cc1c57986d331abe618157be38e49391b8a41c2..f35bd0b35f2edbd2be835b4126e8531578e70dbc 100644
--- a/src/examples/net_test_ode_1.cpp
+++ b/src/examples/net_test_ode_1.cpp
@@ -219,7 +219,7 @@ void test_ode(double accuracy,
         inp[0] = frac * i;
         out[0] = 0.0;
         data_vec_g.push_back(std::make_pair(inp,
-                                               out));
+                                            out));
 
         test_points[i] = inp[0];
     }
@@ -262,7 +262,7 @@ void test_ode(double accuracy,
     auto start = std::chrono::system_clock::now();
 
     optimize_via_gradient_descent(solver_01,
-                                 accuracy);
+                                  accuracy);
     export_solution(n_test_points,
                     te,
                     ts,
diff --git a/src/examples/net_test_pde_1.cpp b/src/examples/net_test_pde_1.cpp
index ffc9eca1da2af7554a29d67f4a78464d91c769a2..fe26ea796aa97e4796f9b1749cc48483bd864a1f 100644
--- a/src/examples/net_test_pde_1.cpp
+++ b/src/examples/net_test_pde_1.cpp
@@ -286,7 +286,7 @@ void test_pde(double accuracy,
             inp = {frac * j, frac * i};
             out = {0.0};
             data_vec_zero.emplace_back(std::make_pair(inp,
-                                                   out));
+                                                      out));
         }
     }
     l4n::DataSet ds_00(&data_vec_zero);
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
index 3e9198fc84d64f24bf1aca4cdf4700b7b84b39f2..66ea48d7d0da6c4f0f01e5aa463e6ac556848f7e 100644
--- a/src/tests/CMakeLists.txt
+++ b/src/tests/CMakeLists.txt
@@ -62,12 +62,12 @@ target_include_directories(DESolver_test PRIVATE ${Boost_INCLUDE_DIRS} ${TURTLE_
 
 set(TEST_OUTPUT_DIR ${PROJECT_BINARY_DIR}/tests)
 
-SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${TEST_OUTPUT_DIR})
-SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${TEST_OUTPUT_DIR})
-SET( CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${TEST_OUTPUT_DIR})
-SET( CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${TEST_OUTPUT_DIR})
-SET( CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${TEST_OUTPUT_DIR})
-SET( CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${TEST_OUTPUT_DIR})
+SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${TEST_OUTPUT_DIR})
+SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${TEST_OUTPUT_DIR})
+SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${TEST_OUTPUT_DIR})
+SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${TEST_OUTPUT_DIR})
+SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${TEST_OUTPUT_DIR})
+SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${TEST_OUTPUT_DIR})
 
 set_target_properties(
         linear_neuron_test
@@ -87,7 +87,7 @@ set_target_properties(
 
 
         PROPERTIES
-        ARCHIVE_OUTPUT_DIRECTORY $<1:${TEST_OUTPUT_DIR}> 
+        ARCHIVE_OUTPUT_DIRECTORY $<1:${TEST_OUTPUT_DIR}>
         LIBRARY_OUTPUT_DIRECTORY $<1:${TEST_OUTPUT_DIR}>
         RUNTIME_OUTPUT_DIRECTORY $<1:${TEST_OUTPUT_DIR}>
         #CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${TEST_OUTPUT_DIR}