From 04359fb25f443fb6e90152cd9fb1a72e7acc8a9c Mon Sep 17 00:00:00 2001
From: Martin Beseda <martinbeseda@seznam.cz>
Date: Tue, 18 Sep 2018 00:35:52 +0200
Subject: [PATCH] ENH: Removed both linking and include dependencies from
 examples => lib4neuro can be used just by linking it and including its header
 without any external dependencies needed.

---
 build.sh                                      |    6 +-
 external_dependencies/boost                   |    2 +-
 lib4neuro.cbp                                 | 1173 -----------------
 src/DataSet/DataSet.cpp                       |   37 +-
 src/DataSet/DataSet.h                         |   19 +-
 src/DataSet/DataSetSerialization.h            |   38 +
 src/General/ExprtkWrapper.cpp                 |   44 +-
 src/General/ExprtkWrapper.h                   |    6 +
 src/General/ExprtkWrapperSerialization.h      |   81 ++
 src/ISerializable.h                           |    8 -
 .../ConnectionFunctionGeneral.cpp             |    6 +-
 src/NetConnection/ConnectionFunctionGeneral.h |   19 +-
 .../ConnectionFunctionGeneralSerialization.h  |   39 +
 .../ConnectionFunctionIdentity.cpp            |    6 +
 .../ConnectionFunctionIdentity.h              |   24 +-
 .../ConnectionFunctionIdentitySerialization.h |   38 +
 src/Network/NeuralNetwork.cpp                 |   64 +-
 src/Network/NeuralNetwork.h                   |   30 +-
 src/Network/NeuralNetworkSerialization.h      |   59 +
 src/Network/NeuralNetworkSum.cpp              |    6 +
 src/Network/NeuralNetworkSum.h                |   17 +-
 src/Network/NeuralNetworkSumSerialization.h   |   38 +
 src/Neuron/Neuron.cpp                         |    4 +-
 src/Neuron/Neuron.h                           |   20 +-
 src/Neuron/NeuronBinary.cpp                   |    7 +-
 src/Neuron/NeuronBinary.h                     |   15 +-
 src/Neuron/NeuronBinarySerialization.h        |    6 +-
 src/Neuron/NeuronConstant.cpp                 |   12 +-
 src/Neuron/NeuronConstant.h                   |   18 +-
 src/Neuron/NeuronConstantSerialization.h      |   12 +-
 src/Neuron/NeuronLinear.cpp                   |   11 +-
 src/Neuron/NeuronLinear.h                     |   15 +-
 src/Neuron/NeuronLinearSerialization.h        |   37 +
 src/Neuron/NeuronLogistic.cpp                 |    7 +
 src/Neuron/NeuronLogistic.h                   |   50 +-
 src/Neuron/NeuronLogisticSerialization.h      |   79 ++
 src/Neuron/NeuronSerialization.h              |    3 +-
 37 files changed, 576 insertions(+), 1480 deletions(-)
 delete mode 100644 lib4neuro.cbp
 delete mode 100644 src/ISerializable.h

diff --git a/build.sh b/build.sh
index cf784593..49368398 100755
--- a/build.sh
+++ b/build.sh
@@ -10,14 +10,14 @@
 BUILD_TESTS=yes
 BUILD_EXAMPLES=yes
 BUILD_LIB=yes
-DEPENDENCIES_LINK_TYPE=shared # shared/static
+DEPENDENCIES_LINK_TYPE=static # shared/static
 
 # Build type (Release/Debug)
 BUILD_TYPE=Debug
 
 # C++ compiler
-CXX_COMPILER=g++
-C_COMPILER=gcc
+CXX_COMPILER=g++ #/opt/intel/compilers_and_libraries/linux/bin/intel64/icpc
+C_COMPILER=gcc #/opt/intel/compilers_and_libraries/linux/bin/intel64/icc
 
 if [ -z "$BUILD_TYPE" ] || [ -z "$CXX_COMPILER" ]; then
     (>&2 echo "Set, please, both BUILD_TYPE and CXX_COMPILER variables in the 'build.sh' script.")
diff --git a/external_dependencies/boost b/external_dependencies/boost
index 507ad00a..b587bd3b 160000
--- a/external_dependencies/boost
+++ b/external_dependencies/boost
@@ -1 +1 @@
-Subproject commit 507ad00a0ad1ce6e8833f2f529fa1e9150c446c0
+Subproject commit b587bd3bbfb42520838ccd516dabc8684fbdd8a8
diff --git a/lib4neuro.cbp b/lib4neuro.cbp
deleted file mode 100644
index 3de6c4c0..00000000
--- a/lib4neuro.cbp
+++ /dev/null
@@ -1,1173 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<CodeBlocks_project_file>
-	<FileVersion major="1" minor="6"/>
-	<Project>
-		<Option title="lib4neuro"/>
-		<Option makefile_is_custom="1"/>
-		<Option compiler="gcc"/>
-		<Option virtualFolders="CMake Files\;CMake Files\src\;CMake Files\src\tests\;CMake Files\src\examples\;"/>
-		<Build>
-			<Target title="all">
-				<Option working_dir="/home/fluffymoo/4NEURO_BIATCH/4Neuro"/>
-				<Option type="4"/>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/Makefile&quot;  VERBOSE=1 all"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="rebuild_cache">
-				<Option working_dir="/home/fluffymoo/4NEURO_BIATCH/4Neuro"/>
-				<Option type="4"/>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/Makefile&quot;  VERBOSE=1 rebuild_cache"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="edit_cache">
-				<Option working_dir="/home/fluffymoo/4NEURO_BIATCH/4Neuro"/>
-				<Option type="4"/>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/Makefile&quot;  VERBOSE=1 edit_cache"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="lib4neuro">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/lib/liblib4neuro.so" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build"/>
-				<Option object_output="./"/>
-				<Option type="3"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 lib4neuro"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="lib4neuro/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/lib/liblib4neuro.so" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build"/>
-				<Option object_output="./"/>
-				<Option type="3"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 lib4neuro/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="boost_unit_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/lib/libboost_unit_test.so" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build"/>
-				<Option object_output="./"/>
-				<Option type="3"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 boost_unit_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="boost_unit_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/lib/libboost_unit_test.so" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build"/>
-				<Option object_output="./"/>
-				<Option type="3"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 boost_unit_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="exprtk">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/lib/libexprtk.so" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build"/>
-				<Option object_output="./"/>
-				<Option type="3"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 exprtk"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="exprtk/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/lib/libexprtk.so" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build"/>
-				<Option object_output="./"/>
-				<Option type="3"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 exprtk/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="DESolver_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/DESolver_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 DESolver_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="DESolver_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/DESolver_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 DESolver_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="NeuralNetworkSum_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/NeuralNetworkSum_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 NeuralNetworkSum_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="NeuralNetworkSum_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/NeuralNetworkSum_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 NeuralNetworkSum_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="particle_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/particle_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 particle_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="particle_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/particle_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 particle_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="binary_neuron_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/binary_neuron_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 binary_neuron_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="binary_neuron_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/binary_neuron_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 binary_neuron_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="linear_neuron_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/linear_neuron_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 linear_neuron_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="linear_neuron_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/linear_neuron_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 linear_neuron_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="logistic_neuron_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/logistic_neuron_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 logistic_neuron_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="logistic_neuron_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/logistic_neuron_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 logistic_neuron_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="connectionFunctionGeneral_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/connectionFunctionGeneral_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 connectionFunctionGeneral_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="connectionFunctionGeneral_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/connectionFunctionGeneral_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 connectionFunctionGeneral_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="constant_neuron_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/constant_neuron_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 constant_neuron_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="constant_neuron_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/constant_neuron_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 constant_neuron_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="neural_network_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/neural_network_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 neural_network_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="neural_network_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/neural_network_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 neural_network_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="connection_Function_identity_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/connection_Function_identity_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 connection_Function_identity_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="connection_Function_identity_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/connection_Function_identity_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 connection_Function_identity_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="errorfunction_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/errorfunction_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 errorfunction_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="errorfunction_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/errorfunction_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 errorfunction_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="dataset_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/dataset_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 dataset_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="dataset_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/dataset_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 dataset_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="particle_swarm_test">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/particle_swarm_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 particle_swarm_test"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="particle_swarm_test/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/bin/particle_swarm_test" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 particle_swarm_test/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/unit-tests/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="test_harmonic_oscilator">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/test_harmonic_oscilator" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 test_harmonic_oscilator"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="test_harmonic_oscilator/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/test_harmonic_oscilator" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 test_harmonic_oscilator/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="network_serialization">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/network_serialization" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 network_serialization"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="network_serialization/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/network_serialization" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 network_serialization/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="net_test_pde_1">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/net_test_pde_1" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 net_test_pde_1"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="net_test_pde_1/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/net_test_pde_1" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 net_test_pde_1/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="net_test_ode_1">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/net_test_ode_1" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 net_test_ode_1"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="net_test_ode_1/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/net_test_ode_1" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 net_test_ode_1/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="net_test_2">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/net_test_2" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 net_test_2"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="net_test_2/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/net_test_2" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 net_test_2/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="net_test_1">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/net_test_1" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 net_test_1"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="net_test_1/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/net_test_1" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 net_test_1/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="test_cases">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/test_cases" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 test_cases"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="test_cases/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/test_cases" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 test_cases/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="net_test_3">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/net_test_3" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 net_test_3"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="net_test_3/fast">
-				<Option output="/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/bin/net_test_3" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="bin"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add option="-DBOOST_TEST_DYN_LINK"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/boost"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/external_dependencies/exprtk"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/include"/>
-					<Add directory="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 net_test_3/fast"/>
-					<CompileFile command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -f &quot;/home/fluffymoo/4NEURO_BIATCH/4Neuro/build/examples/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-		</Build>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/DataSet/DataSet.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/DataSet/DataSet.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/ErrorFunction/ErrorFunctions.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/ErrorFunction/ErrorFunctions.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/General/ExprtkWrapper.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/General/ExprtkWrapper.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/LearningMethods/ILearningMethods.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/LearningMethods/ParticleSwarm.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/LearningMethods/ParticleSwarm.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/NetConnection/ConnectionFunctionGeneral.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/NetConnection/ConnectionFunctionGeneral.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/NetConnection/ConnectionFunctionIdentity.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/NetConnection/ConnectionFunctionIdentity.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Network/NeuralNetwork.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Network/NeuralNetwork.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Network/NeuralNetworkSum.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Network/NeuralNetworkSum.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Neuron/Neuron.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Neuron/Neuron.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Neuron/NeuronBinary.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Neuron/NeuronBinary.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Neuron/NeuronConstant.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Neuron/NeuronConstant.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Neuron/NeuronLinear.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Neuron/NeuronLinear.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Neuron/NeuronLogistic.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Neuron/NeuronLogistic.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Solvers/DESolver.cpp">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/Solvers/DESolver.h">
-			<Option target="lib4neuro"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/boost_test_lib_dummy.cpp">
-			<Option target="boost_unit_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/examples/main.cpp">
-			<Option target="test_cases"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/examples/net_test_1.cpp">
-			<Option target="net_test_1"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/examples/net_test_2.cpp">
-			<Option target="net_test_2"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/examples/net_test_3.cpp">
-			<Option target="net_test_3"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/examples/net_test_harmonic_oscilator.cpp">
-			<Option target="test_harmonic_oscilator"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/examples/net_test_ode_1.cpp">
-			<Option target="net_test_ode_1"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/examples/net_test_pde_1.cpp">
-			<Option target="net_test_pde_1"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/examples/network_serialization.cpp">
-			<Option target="network_serialization"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/exprtk.cpp">
-			<Option target="exprtk"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/ConnectionFunctionGeneral_test.cpp">
-			<Option target="connectionFunctionGeneral_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/ConnectionFunctionIdentity_test.cpp">
-			<Option target="connection_Function_identity_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/DESolver_test.cpp">
-			<Option target="DESolver_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/DataSet_test.cpp">
-			<Option target="dataset_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/ErrorFunctions_test.cpp">
-			<Option target="errorfunction_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/NeuralNetworkSum_test.cpp">
-			<Option target="NeuralNetworkSum_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/NeuralNetwork_test.cpp">
-			<Option target="neural_network_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/NeuronBinary_test.cpp">
-			<Option target="binary_neuron_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/NeuronConstant_test.cpp">
-			<Option target="constant_neuron_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/NeuronLinear_test.cpp">
-			<Option target="linear_neuron_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/NeuronLogistic_test.cpp">
-			<Option target="logistic_neuron_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/ParticleSwarm_test.cpp">
-			<Option target="particle_swarm_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/Particle_test.cpp">
-			<Option target="particle_test"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/CMakeLists.txt">
-			<Option virtualFolder="CMake Files\"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/Findexprtk.cmake">
-			<Option virtualFolder="CMake Files\"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/CMakeLists.txt">
-			<Option virtualFolder="CMake Files\src\"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/tests/CMakeLists.txt">
-			<Option virtualFolder="CMake Files\src\tests\"/>
-		</Unit>
-		<Unit filename="/home/fluffymoo/4NEURO_BIATCH/4Neuro/src/examples/CMakeLists.txt">
-			<Option virtualFolder="CMake Files\src\examples\"/>
-		</Unit>
-	</Project>
-</CodeBlocks_project_file>
diff --git a/src/DataSet/DataSet.cpp b/src/DataSet/DataSet.cpp
index cd97b8c6..b3efddc2 100644
--- a/src/DataSet/DataSet.cpp
+++ b/src/DataSet/DataSet.cpp
@@ -2,43 +2,8 @@
 // Created by martin on 7/13/18.
 //
 
-#include <boost/serialization/base_object.hpp>
-#include <boost/range/size_type.hpp>
-#include <boost/serialization/vector.hpp>
-#include <boost/serialization/utility.hpp>
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-
-#include "DataSet.h"
-
-struct DataSet :: access {
-    template <class Archive>
-    static void serialize(Archive &ar, DataSet& ds, const unsigned int version) {
-        ar & ds.n_elements;
-        ar & ds.input_dim;
-        ar & ds.output_dim;
-        ar & ds.data;
-    }
-};
-
-namespace boost {
-    namespace serialization {
-
-        /**
-         * Serialization function
-         * @tparam Archive Boost library template
-         * @param ar Boost parameter - filled automatically during serialization!
-         * @param ds DataSet instance
-         * @param version Boost parameter - filled automatically during serialization!
-         */
-        template<class Archive>
-        void serialize(Archive & ar, DataSet & ds, const unsigned int version)
-        {
-            DataSet::access::serialize(ar, ds, version);
-        }
 
-    } // namespace serialization
-} // namespace boost
+#include "DataSetSerialization.h"
 
 InvalidDimension::InvalidDimension() : std::runtime_error("Invalid dimension specified!") {};
 
diff --git a/src/DataSet/DataSet.h b/src/DataSet/DataSet.h
index 434dfcc3..3be44705 100644
--- a/src/DataSet/DataSet.h
+++ b/src/DataSet/DataSet.h
@@ -67,23 +67,12 @@ private:
     template <class T>
     std::vector<std::vector<T>> cartesian_product(const std::vector<std::vector<T>>* v);
 
-//protected:
-//    /**
-//     * Serialization function
-//     * @tparam Archive Boost library template
-//     * @param ar Boost parameter - filled automatically during serialization!
-//     * @param version Boost parameter - filled automatically during serialization!
-//     */
-//    template<class Archive>
-//    void serialize(Archive & ar, const unsigned int version){
-//        ar & this->n_elements;
-//        ar & this->input_dim;
-//        ar & this->output_dim;
-//        ar & this->data;
-//    };
-
 public:
 
+    /**
+     * Struct used to access private properties from
+     * the serialization function
+     */
     struct access;
 
     /**
diff --git a/src/DataSet/DataSetSerialization.h b/src/DataSet/DataSetSerialization.h
index 7e9e1b75..39a1a6bc 100644
--- a/src/DataSet/DataSetSerialization.h
+++ b/src/DataSet/DataSetSerialization.h
@@ -5,4 +5,42 @@
 #ifndef LIB4NEURO_DATASETSERIALIZATION_H
 #define LIB4NEURO_DATASETSERIALIZATION_H
 
+#include <boost/serialization/base_object.hpp>
+#include <boost/range/size_type.hpp>
+#include <boost/serialization/vector.hpp>
+#include <boost/serialization/utility.hpp>
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+
+#include "DataSet.h"
+
+struct DataSet :: access {
+    template <class Archive>
+    static void serialize(Archive &ar, DataSet& ds, const unsigned int version) {
+        ar & ds.n_elements;
+        ar & ds.input_dim;
+        ar & ds.output_dim;
+        ar & ds.data;
+    }
+};
+
+namespace boost {
+    namespace serialization {
+
+        /**
+         * Serialization function
+         * @tparam Archive Boost library template
+         * @param ar Boost parameter - filled automatically during serialization!
+         * @param ds DataSet instance
+         * @param version Boost parameter - filled automatically during serialization!
+         */
+        template<class Archive>
+        void serialize(Archive & ar, DataSet & ds, const unsigned int version)
+        {
+            DataSet::access::serialize(ar, ds, version);
+        }
+
+    } // namespace serialization
+} // namespace boost
+
 #endif //LIB4NEURO_DATASETSERIALIZATION_H
diff --git a/src/General/ExprtkWrapper.cpp b/src/General/ExprtkWrapper.cpp
index 2a9c8226..7abf6859 100644
--- a/src/General/ExprtkWrapper.cpp
+++ b/src/General/ExprtkWrapper.cpp
@@ -5,43 +5,19 @@
  * @date 4.9.18 -
  */
 
-#include "ExprtkWrapper.h"
-#include "exprtk.hpp"
-
-
-typedef exprtk::symbol_table<double> symbol_table_t;
-typedef exprtk::expression<double>     expression_t;
-typedef exprtk::parser<double>             parser_t;
-
-class ExprtkWrapper :: ExprtkWrapperImpl {
-
-public:
+#include <boost/serialization/export.hpp>
 
-    /**
-     *
-     */
-    expression_t *expression = nullptr;
-
-    /**
-     *
-     */
-    symbol_table_t *symbol_table = nullptr;
-
-    /**
-     *
-     */
-    parser_t * parser = nullptr;
+#include "exprtk.hpp"
+#include "ExprtkWrapper.h"
+#include "ExprtkWrapperSerialization.h"
+#include "../exceptions.h"
 
-    /**
-     * variables
-     */
-    double x, y, z, t, f;
+BOOST_CLASS_EXPORT_IMPLEMENT(ExprtkWrapper);
 
-    /**
-     * referential expression string
-     */
-    std::string expression_str;
-};
+ExprtkWrapper::ExprtkWrapper() {
+    // Because of serialization
+    // TODO implement?
+}
 
 ExprtkWrapper::ExprtkWrapper( std::string expression_string ) {
 
diff --git a/src/General/ExprtkWrapper.h b/src/General/ExprtkWrapper.h
index 05d8a9b5..0b7f46d8 100644
--- a/src/General/ExprtkWrapper.h
+++ b/src/General/ExprtkWrapper.h
@@ -17,6 +17,12 @@ class ExprtkWrapper {
 
 public:
 
+    /**
+     * Struct used to access private properties from
+     * the serialization function
+     */
+    struct access;
+
     /**
      *
      * @param expression_string
diff --git a/src/General/ExprtkWrapperSerialization.h b/src/General/ExprtkWrapperSerialization.h
index f53535a0..9996d15b 100644
--- a/src/General/ExprtkWrapperSerialization.h
+++ b/src/General/ExprtkWrapperSerialization.h
@@ -5,4 +5,85 @@
 #ifndef LIB4NEURO_EXPRTKWRAPPERSERIALIZATION_H
 #define LIB4NEURO_EXPRTKWRAPPERSERIALIZATION_H
 
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/serialization/export.hpp>
+
+//TODO check different order of headers - possible bug
+#include "ExprtkWrapper.h"
+#include "exprtk.hpp"
+
+BOOST_CLASS_EXPORT_KEY(ExprtkWrapper);
+
+typedef exprtk::symbol_table<double> symbol_table_t;
+typedef exprtk::expression<double>     expression_t;
+typedef exprtk::parser<double>             parser_t;
+
+/**
+ * Class implementing the private properties
+ * of ExprtkWrapper class.
+ */
+class ExprtkWrapper :: ExprtkWrapperImpl {
+
+public:
+
+    /**
+     * Struct used to access private properties from
+     * the serialization function
+     */
+    struct access;
+
+    /**
+     *
+     */
+    expression_t *expression = nullptr;
+
+    /**
+     *
+     */
+    symbol_table_t *symbol_table = nullptr;
+
+    /**
+     *
+     */
+    parser_t * parser = nullptr;
+
+    /**
+     * variables
+     */
+    double x, y, z, t, f;
+
+    /**
+     * referential expression string
+     */
+    std::string expression_str;
+};
+
+struct ExprtkWrapper :: access {
+    template <class Archive>
+    static void serialize(Archive &ar, ExprtkWrapper& n, const unsigned int version) {
+        ar & n.p_impl->expression_str;
+        ar & n.p_impl->x & n.p_impl->y & n.p_impl->z & n.p_impl->t & n.p_impl->f;
+    }
+};
+
+namespace boost {
+    namespace serialization {
+
+        /**
+         * Serialization function
+         * @tparam Archive Boost library template
+         * @param ar Boost parameter - filled automatically during serialization!
+         * @param n ExprtkWrapper instance
+         * @param version Boost parameter - filled automatically during serialization!
+         */
+        template<class Archive>
+        void serialize(Archive & ar, ExprtkWrapper& n, const unsigned int version)
+        {
+            ExprtkWrapper::access::serialize(ar, n, version);
+        }
+
+    } // namespace serialization
+} // namespace boost
+
 #endif //LIB4NEURO_EXPRTKWRAPPERSERIALIZATION_H
diff --git a/src/ISerializable.h b/src/ISerializable.h
deleted file mode 100644
index 5105cb85..00000000
--- a/src/ISerializable.h
+++ /dev/null
@@ -1,8 +0,0 @@
-//
-// Created by martin on 9/14/18.
-//
-
-#ifndef PROJECT_ISERIALIZABLE_H
-#define PROJECT_ISERIALIZABLE_H
-
-#endif //PROJECT_ISERIALIZABLE_H
diff --git a/src/NetConnection/ConnectionFunctionGeneral.cpp b/src/NetConnection/ConnectionFunctionGeneral.cpp
index 9b1b3e64..5a647181 100644
--- a/src/NetConnection/ConnectionFunctionGeneral.cpp
+++ b/src/NetConnection/ConnectionFunctionGeneral.cpp
@@ -5,7 +5,11 @@
  * @date 14.6.18 -
  */
 
-#include "ConnectionFunctionGeneral.h"
+#include <boost/serialization/export.hpp>
+
+#include "ConnectionFunctionGeneralSerialization.h"
+
+BOOST_CLASS_EXPORT_IMPLEMENT(ConnectionFunctionGeneral);
 
 ConnectionFunctionGeneral::ConnectionFunctionGeneral() {}
 
diff --git a/src/NetConnection/ConnectionFunctionGeneral.h b/src/NetConnection/ConnectionFunctionGeneral.h
index d19bb30c..bbe56e05 100644
--- a/src/NetConnection/ConnectionFunctionGeneral.h
+++ b/src/NetConnection/ConnectionFunctionGeneral.h
@@ -9,22 +9,12 @@
 #define INC_4NEURO_CONNECTIONWEIGHT_H
 
 #include "../settings.h"
+//#include "../ISerializable.h"
 
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/serialization/export.hpp>
-#include <boost/serialization/vector.hpp>
 #include <functional>
 #include <vector>
 
 class ConnectionFunctionGeneral {
-private:
-    friend class boost::serialization::access;
-
-    template <class Archive>
-    void serialize(Archive & ar, const unsigned int version) {
-        ar & this->param_indices;
-    };
 
 protected:
 
@@ -35,6 +25,12 @@ protected:
 
 public:
 
+    /**
+     * Struct used to access private properties from
+     * the serialization function
+     */
+    struct access;
+
     /**
      *
      */
@@ -67,5 +63,4 @@ public:
 
 };
 
-
 #endif //INC_4NEURO_CONNECTIONWEIGHT_H
diff --git a/src/NetConnection/ConnectionFunctionGeneralSerialization.h b/src/NetConnection/ConnectionFunctionGeneralSerialization.h
index f0be815e..f1eba16d 100644
--- a/src/NetConnection/ConnectionFunctionGeneralSerialization.h
+++ b/src/NetConnection/ConnectionFunctionGeneralSerialization.h
@@ -5,4 +5,43 @@
 #ifndef LIB4NEURO_CONNECTIONFUNCTIONGENERALSERIALIZATION_H
 #define LIB4NEURO_CONNECTIONFUNCTIONGENERALSERIALIZATION_H
 
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/serialization/vector.hpp>
+#include <boost/serialization/export.hpp>
+
+#include "ConnectionFunctionGeneral.h"
+
+BOOST_CLASS_EXPORT_KEY(ConnectionFunctionGeneral);
+
+struct ConnectionFunctionGeneral :: access {
+    template <class Archive>
+    static void serialize(Archive &ar, ConnectionFunctionGeneral& c, const unsigned int version) {
+        ar & c.param_indices;
+    }
+};
+
+template void ConnectionFunctionGeneral::access::serialize<boost::archive::text_oarchive>(boost::archive::text_oarchive&, ConnectionFunctionGeneral&, const unsigned int);
+
+
+namespace boost {
+    namespace serialization {
+
+        /**
+         * Serialization function
+         * @tparam Archive Boost library template
+         * @param ar Boost parameter - filled automatically during serialization!
+         * @param n ConnectionFunctionGeneral instance
+         * @param version Boost parameter - filled automatically during serialization!
+         */
+        template<class Archive>
+        void serialize(Archive & ar, ConnectionFunctionGeneral& c, const unsigned int version)
+        {
+            ConnectionFunctionGeneral::access::serialize(ar, c, version);
+        }
+
+
+    } // namespace serialization
+} // namespace boost
+
 #endif //LIB4NEURO_CONNECTIONFUNCTIONGENERALSERIALIZATION_H
diff --git a/src/NetConnection/ConnectionFunctionIdentity.cpp b/src/NetConnection/ConnectionFunctionIdentity.cpp
index bd535cbf..5446bd51 100644
--- a/src/NetConnection/ConnectionFunctionIdentity.cpp
+++ b/src/NetConnection/ConnectionFunctionIdentity.cpp
@@ -5,7 +5,13 @@
  * @date 14.6.18 -
  */
 
+#include <boost/serialization/export.hpp>
+
 #include "ConnectionFunctionIdentity.h"
+#include "ConnectionFunctionIdentitySerialization.h"
+#include "ConnectionFunctionGeneralSerialization.h"
+
+BOOST_CLASS_EXPORT_IMPLEMENT(ConnectionFunctionIdentity);
 
 ConnectionFunctionIdentity::ConnectionFunctionIdentity( ) {
 //    this->type = CONNECTION_TYPE::IDENTITY;
diff --git a/src/NetConnection/ConnectionFunctionIdentity.h b/src/NetConnection/ConnectionFunctionIdentity.h
index d62ac912..8a01ad51 100644
--- a/src/NetConnection/ConnectionFunctionIdentity.h
+++ b/src/NetConnection/ConnectionFunctionIdentity.h
@@ -11,14 +11,14 @@
 #include "../settings.h"
 #include "ConnectionFunctionGeneral.h"
 
-class ConnectionFunctionGeneral;
+//class ConnectionFunctionGeneral;
 
 /**
  *
  */
-class ConnectionFunctionIdentity:public ConnectionFunctionGeneral {
-    friend class boost::serialization::access;
-    friend class NeuralNetwork;
+class ConnectionFunctionIdentity : public ConnectionFunctionGeneral {
+//    friend class boost::serialization::access;
+//    friend class NeuralNetwork;
 
 private:
 
@@ -26,16 +26,18 @@ private:
 
     bool is_unitary = false;
 
-protected:
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version){
-        ar & boost::serialization::base_object<ConnectionFunctionGeneral>(*this);
-        ar & this->param_idx;
-        ar & this->is_unitary;
-    };
+//protected:
+//    template<class Archive>
+//    void serialize(Archive & ar, const unsigned int version){
+//        ar & boost::serialization::base_object<ConnectionFunctionGeneral>(*this);
+//        ar & this->param_idx;
+//        ar & this->is_unitary;
+//    };
 
 public:
 
+    struct access;
+
     /**
      *
      */
diff --git a/src/NetConnection/ConnectionFunctionIdentitySerialization.h b/src/NetConnection/ConnectionFunctionIdentitySerialization.h
index c5ce9949..767f2be0 100644
--- a/src/NetConnection/ConnectionFunctionIdentitySerialization.h
+++ b/src/NetConnection/ConnectionFunctionIdentitySerialization.h
@@ -5,4 +5,42 @@
 #ifndef LIB4NEURO_CONNECTIONFUNCTIONIDENTITYSERIALIZATION_H
 #define LIB4NEURO_CONNECTIONFUNCTIONIDENTITYSERIALIZATION_H
 
+#include <boost/serialization/base_object.hpp>
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/serialization/export.hpp>
+
+#include "ConnectionFunctionIdentity.h"
+#include "ConnectionFunctionGeneralSerialization.h"
+
+BOOST_CLASS_EXPORT_KEY(ConnectionFunctionIdentity);
+
+struct ConnectionFunctionIdentity :: access {
+    template <class Archive>
+    static void serialize(Archive &ar, ConnectionFunctionIdentity& c, const unsigned int version) {
+        ar & boost::serialization::base_object<ConnectionFunctionGeneral>(c);
+        ar & c.is_unitary;
+        ar & c.param_idx;
+    }
+};
+
+namespace boost {
+    namespace serialization {
+
+        /**
+         * Serialization function
+         * @tparam Archive Boost library template
+         * @param ar Boost parameter - filled automatically during serialization!
+         * @param n ConnectionFunctionIdentity instance
+         * @param version Boost parameter - filled automatically during serialization!
+         */
+        template<class Archive>
+        void serialize(Archive & ar, ConnectionFunctionIdentity& c, const unsigned int version)
+        {
+            ConnectionFunctionIdentity::access::serialize(ar, c, version);
+        }
+
+    } // namespace serialization
+} // namespace boost
+
 #endif //LIB4NEURO_CONNECTIONFUNCTIONIDENTITYSERIALIZATION_H
diff --git a/src/Network/NeuralNetwork.cpp b/src/Network/NeuralNetwork.cpp
index 00308bab..7119940b 100644
--- a/src/Network/NeuralNetwork.cpp
+++ b/src/Network/NeuralNetwork.cpp
@@ -6,69 +6,7 @@
  */
 
 #include "NeuralNetwork.h"
-
-#include <boost/random/mersenne_twister.hpp>
-#include <boost/random/uniform_real_distribution.hpp>
-//#include <boost/archive/text_oarchive.hpp>
-//#include <boost/archive/text_iarchive.hpp>
-#include <boost/serialization/serialization.hpp>
-#include <boost/serialization/list.hpp>
-#include <boost/serialization/string.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/export.hpp>
-#include <boost/serialization/vector.hpp>
-#include <boost/serialization/utility.hpp>
-
-BOOST_CLASS_EXPORT(NeuronBinary);
-BOOST_CLASS_EXPORT(NeuronConstant);
-BOOST_CLASS_EXPORT(NeuronLinear);
-BOOST_CLASS_EXPORT(NeuronLogistic);
-BOOST_CLASS_EXPORT(NeuronLogistic_d1);
-BOOST_CLASS_EXPORT(NeuronLogistic_d2);
-BOOST_CLASS_EXPORT(ConnectionFunctionGeneral);
-BOOST_CLASS_EXPORT(ConnectionFunctionIdentity);
-
-
-struct NeuralNetwork :: access {
-    template <class Archive>
-    static void serialize(Archive &ar, NeuralNetwork& nn, const unsigned int version) {
-        ar & nn.neurons;
-        ar & nn.input_neuron_indices;
-        ar & nn.output_neuron_indices;
-        ar & nn.connection_list;
-        ar & nn.neuron_biases;
-        ar & nn.neuron_bias_indices;
-        ar & nn.neuron_potentials;
-        ar & nn.connection_weights;
-        ar & nn.inward_adjacency;
-        ar & nn.outward_adjacency;
-        ar & nn.neuron_layers_feedforward;
-        ar & nn.neuron_layers_feedbackward;
-        ar & nn.layers_analyzed;
-        ar & nn.delete_weights;
-        ar & nn.delete_biases;
-    }
-};
-
-namespace boost {
-    namespace serialization {
-
-        /**
-         * Serialization function
-         * @tparam Archive Boost library template
-         * @param ar Boost parameter - filled automatically during serialization!
-         * @param ds NeuralNetwork instance
-         * @param version Boost parameter - filled automatically during serialization!
-         */
-        template<class Archive>
-        void serialize(Archive & ar, NeuralNetwork & nn, const unsigned int version)
-        {
-            NeuralNetwork::access::serialize(ar, nn, version);
-        }
-
-    } // namespace serialization
-} // namespace boost
+#include "NeuralNetworkSerialization.h"
 
 NeuralNetwork::NeuralNetwork() {
     this->neurons = new std::vector<Neuron*>(0);
diff --git a/src/Network/NeuralNetwork.h b/src/Network/NeuralNetwork.h
index 692b0137..db2927a3 100644
--- a/src/Network/NeuralNetwork.h
+++ b/src/Network/NeuralNetwork.h
@@ -11,8 +11,6 @@
 #ifndef INC_4NEURO_NEURALNETWORK_H
 #define INC_4NEURO_NEURALNETWORK_H
 
-#include "../settings.h"
-
 #include <iostream>
 #include <vector>
 
@@ -20,39 +18,16 @@
 #include <utility>
 #include <fstream>
 
-//#include <boost/random/mersenne_twister.hpp>
-//#include <boost/random/uniform_real_distribution.hpp>
-
-
-//#include <boost/serialization/list.hpp>
-//#include <boost/serialization/string.hpp>
-//#include <boost/serialization/version.hpp>
-//#include <boost/serialization/split_member.hpp>
-//#include <boost/serialization/export.hpp>
-//#include <boost/serialization/vector.hpp>
-//#include <boost/serialization/utility.hpp>
-
+#include "../settings.h"
 #include "../Neuron/Neuron.h"
 #include "../Neuron/NeuronConstant.h"
 #include "../Neuron/NeuronBinary.h"
-
-
-
 #include "../Neuron/NeuronLinear.h"
-
-
-
-//#include "../Neuron/NeuronLogistic.h" // ERROR
-
 #include "../Neuron/NeuronLogistic.h"
 
 #include "../NetConnection/ConnectionFunctionGeneral.h"
 #include "../NetConnection/ConnectionFunctionIdentity.h"
 
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-
-
 
 enum class BIAS_TYPE{NEXT_BIAS, NO_BIAS, EXISTING_BIAS};
 
@@ -172,7 +147,8 @@ private:
 public:
 
     /**
-     *
+     * Struct used to access private properties from
+     * the serialization function
      */
     struct access;
 
diff --git a/src/Network/NeuralNetworkSerialization.h b/src/Network/NeuralNetworkSerialization.h
index 3683a553..301ab381 100644
--- a/src/Network/NeuralNetworkSerialization.h
+++ b/src/Network/NeuralNetworkSerialization.h
@@ -5,4 +5,63 @@
 #ifndef LIB4NEURO_NEURALNETWORKSERIALIZATION_H
 #define LIB4NEURO_NEURALNETWORKSERIALIZATION_H
 
+#include <boost/random/mersenne_twister.hpp>
+#include <boost/random/uniform_real_distribution.hpp>
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/serialization/list.hpp>
+#include <boost/serialization/string.hpp>
+#include <boost/serialization/export.hpp>
+#include <boost/serialization/vector.hpp>
+#include <boost/serialization/utility.hpp>
+
+#include "NeuralNetwork.h"
+#include "Neuron/NeuronSerialization.h"
+#include "Neuron/NeuronBinarySerialization.h"
+#include "Neuron/NeuronConstantSerialization.h"
+#include "Neuron/NeuronLinearSerialization.h"
+#include "Neuron/NeuronLogisticSerialization.h"
+#include "NetConnection/ConnectionFunctionGeneralSerialization.h"
+#include "NetConnection/ConnectionFunctionIdentitySerialization.h"
+
+struct NeuralNetwork :: access {
+    template <class Archive>
+    static void serialize(Archive &ar, NeuralNetwork& nn, const unsigned int version) {
+        ar & nn.neurons;
+        ar & nn.input_neuron_indices;
+        ar & nn.output_neuron_indices;
+        ar & nn.connection_list;
+        ar & nn.neuron_biases;
+        ar & nn.neuron_bias_indices;
+        ar & nn.neuron_potentials;
+        ar & nn.connection_weights;
+        ar & nn.inward_adjacency;
+        ar & nn.outward_adjacency;
+        ar & nn.neuron_layers_feedforward;
+        ar & nn.neuron_layers_feedbackward;
+        ar & nn.layers_analyzed;
+        ar & nn.delete_weights;
+        ar & nn.delete_biases;
+    }
+};
+
+namespace boost {
+    namespace serialization {
+
+        /**
+         * Serialization function
+         * @tparam Archive Boost library template
+         * @param ar Boost parameter - filled automatically during serialization!
+         * @param ds NeuralNetwork instance
+         * @param version Boost parameter - filled automatically during serialization!
+         */
+        template<class Archive>
+        void serialize(Archive & ar, NeuralNetwork & nn, const unsigned int version)
+        {
+            NeuralNetwork::access::serialize(ar, nn, version);
+        }
+
+    } // namespace serialization
+} // namespace boost
+
 #endif //LIB4NEURO_NEURALNETWORKSERIALIZATION_H
diff --git a/src/Network/NeuralNetworkSum.cpp b/src/Network/NeuralNetworkSum.cpp
index 2b665fe7..2842c1ae 100644
--- a/src/Network/NeuralNetworkSum.cpp
+++ b/src/Network/NeuralNetworkSum.cpp
@@ -5,7 +5,13 @@
  * @date 18.7.18 -
  */
 
+#include <boost/serialization/export.hpp>
+
 #include "NeuralNetworkSum.h"
+#include "NeuralNetworkSumSerialization.h"
+#include "General/ExprtkWrapperSerialization.h"
+
+BOOST_CLASS_EXPORT_IMPLEMENT(NeuralNetworkSum);
 
 NeuralNetworkSum::NeuralNetworkSum(){
     this->summand = nullptr;
diff --git a/src/Network/NeuralNetworkSum.h b/src/Network/NeuralNetworkSum.h
index 3ce90b74..e8d883bc 100644
--- a/src/Network/NeuralNetworkSum.h
+++ b/src/Network/NeuralNetworkSum.h
@@ -9,26 +9,23 @@
 #define INC_4NEURO_NEURALNETWORKSUM_H
 
 #include "../settings.h"
+#include "../General/ExprtkWrapper.h"
 
 #include "NeuralNetwork.h"
 
-#include "../General/ExprtkWrapper.h"
-
 class NeuralNetworkSum : public NeuralNetwork {
 private:
-    friend class boost::serialization::access;
-
     std::vector<NeuralNetwork*> * summand;
     std::vector<ExprtkWrapper*> * summand_coefficient;
 
-    template <class Archive>
-    void serialize(Archive & ar, const unsigned int version) {
-        ar & boost::serialization::base_object<NeuralNetwork>(*this);
-        ar & this->summand;
-        ar & this->summand_coefficient;
-    };
 
 public:
+    /**
+     * Struct used to access private properties from
+     * the serialization function
+     */
+    struct access;
+
     LIB4NEURO_API NeuralNetworkSum( );
     LIB4NEURO_API virtual ~NeuralNetworkSum( );
 
diff --git a/src/Network/NeuralNetworkSumSerialization.h b/src/Network/NeuralNetworkSumSerialization.h
index 55a8c76b..9b8aab08 100644
--- a/src/Network/NeuralNetworkSumSerialization.h
+++ b/src/Network/NeuralNetworkSumSerialization.h
@@ -5,4 +5,42 @@
 #ifndef LIB4NEURO_NEURALNETWORKSUMSERIALIZATION_H
 #define LIB4NEURO_NEURALNETWORKSUMSERIALIZATION_H
 
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/export.hpp>
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+
+#include "NeuralNetworkSum.h"
+#include "NeuralNetworkSerialization.h"
+
+BOOST_CLASS_EXPORT_KEY(NeuralNetworkSum);
+
+struct NeuralNetworkSum :: access {
+    template <class Archive>
+    static void serialize(Archive &ar, NeuralNetworkSum& n, const unsigned int version) {
+        ar & boost::serialization::base_object<NeuralNetwork>(n);
+        ar & n.summand;
+        ar & n.summand_coefficient;
+    }
+};
+
+namespace boost {
+    namespace serialization {
+
+        /**
+         * Serialization function
+         * @tparam Archive Boost library template
+         * @param ar Boost parameter - filled automatically during serialization!
+         * @param n NeuralNetworkSum instance
+         * @param version Boost parameter - filled automatically during serialization!
+         */
+        template<class Archive>
+        void serialize(Archive & ar, NeuralNetworkSum& n, const unsigned int version)
+        {
+            NeuralNetworkSum::access::serialize(ar, n, version);
+        }
+
+    } // namespace serialization
+} // namespace boost
+
 #endif //LIB4NEURO_NEURALNETWORKSUMSERIALIZATION_H
diff --git a/src/Neuron/Neuron.cpp b/src/Neuron/Neuron.cpp
index 15664cd9..dc4c4a38 100644
--- a/src/Neuron/Neuron.cpp
+++ b/src/Neuron/Neuron.cpp
@@ -1,5 +1,7 @@
+#include "NeuronSerialization.h"
+
+BOOST_CLASS_EXPORT_IMPLEMENT(Neuron);
 
-#include "Neuron.h"
 
 Neuron::~Neuron() {
 
diff --git a/src/Neuron/Neuron.h b/src/Neuron/Neuron.h
index 275f1ca7..f0d8fd1f 100644
--- a/src/Neuron/Neuron.h
+++ b/src/Neuron/Neuron.h
@@ -7,28 +7,26 @@
  * @date 2017 - 2018
  */
 //TODO  correct docs in this and all child classes
- #ifndef NEURON_H_
- #define NEURON_H_
+#ifndef NEURON_H_
+#define NEURON_H_
 
- #include "../settings.h"
-
-#include <boost/serialization/base_object.hpp>
+#include "../settings.h"
 #include <vector>
 
-class IDifferentiable;
 
 /**
   * Abstract class representing a general neuron
   */
 class Neuron {
-private:
-    friend class boost::serialization::access;
-
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version){};
 
 public:
 
+    /**
+     * Struct used to access private properties from
+     * the serialization function
+     */
+    struct access;
+
     /**
      * Destructor of the Neuron object
      * this level deallocates the array 'activation_function_parameters'
diff --git a/src/Neuron/NeuronBinary.cpp b/src/Neuron/NeuronBinary.cpp
index 48ada48f..b53c9462 100644
--- a/src/Neuron/NeuronBinary.cpp
+++ b/src/Neuron/NeuronBinary.cpp
@@ -2,7 +2,12 @@
 // Created by fluffymoo on 11.6.18.
 //
 
-#include "NeuronBinary.h"
+#include <boost/serialization/export.hpp>
+
+#include "NeuronSerialization.h"
+#include "NeuronBinarySerialization.h"
+
+BOOST_CLASS_EXPORT_IMPLEMENT(NeuronBinary);
 
 NeuronBinary::NeuronBinary( ) {}
 
diff --git a/src/Neuron/NeuronBinary.h b/src/Neuron/NeuronBinary.h
index 15891181..ae52d75a 100644
--- a/src/Neuron/NeuronBinary.h
+++ b/src/Neuron/NeuronBinary.h
@@ -10,7 +10,7 @@
 #ifndef INC_4NEURO_NEURONBINARY_H
 #define INC_4NEURO_NEURONBINARY_H
 
-#include "../settings.h"
+//#include "../settings.h"
 
 #include "Neuron.h"
 
@@ -18,16 +18,15 @@
  *  Binary neuron class - uses unit-step as the activation function
  */
 class NeuronBinary:public Neuron {
-private:
-    friend class boost::serialization::access;
-
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version){
-        ar & boost::serialization::base_object<Neuron>(*this);
-    };
 
 public:
 
+    /**
+     * Struct used to access private properties from
+     * the serialization function
+     */
+    struct access;
+
     /**
      * Default constructor for the binary Neuron
      * @param[in] threshold Denotes when the neuron is activated
diff --git a/src/Neuron/NeuronBinarySerialization.h b/src/Neuron/NeuronBinarySerialization.h
index 690c091d..e227c45d 100644
--- a/src/Neuron/NeuronBinarySerialization.h
+++ b/src/Neuron/NeuronBinarySerialization.h
@@ -8,13 +8,12 @@
 #include <boost/serialization/base_object.hpp>
 #include <boost/archive/text_oarchive.hpp>
 #include <boost/archive/text_iarchive.hpp>
-#include <boost/serialization/access.hpp>
 #include <boost/serialization/export.hpp>
 
+#include "NeuronSerialization.h"
 #include "NeuronBinary.h"
 
-BOOST_CLASS_EXPORT(NeuronBinary);
-
+BOOST_CLASS_EXPORT_KEY(NeuronBinary);
 
 struct NeuronBinary :: access {
     template <class Archive>
@@ -42,4 +41,5 @@ namespace boost {
     } // namespace serialization
 } // namespace boost
 
+
 #endif //LIB4NEURO_NEURON_BINARY_SERIALIZATION_H
diff --git a/src/Neuron/NeuronConstant.cpp b/src/Neuron/NeuronConstant.cpp
index 1b349c2f..bc04b60d 100644
--- a/src/Neuron/NeuronConstant.cpp
+++ b/src/Neuron/NeuronConstant.cpp
@@ -5,7 +5,14 @@
  * @date 8.8.18 -
  */
 
-#include "NeuronConstant.h"
+#include <boost/serialization/export.hpp>
+
+//#include "NeuronConstant.h"
+//#include "NeuronSerialization.h"
+#include "NeuronConstantSerialization.h"
+
+
+BOOST_CLASS_EXPORT_IMPLEMENT(NeuronConstant);
 
 NeuronConstant::NeuronConstant( double c ) {
     this->p = c;
@@ -26,4 +33,5 @@ double NeuronConstant::activation_function_eval_derivative( double x, double b )
 Neuron* NeuronConstant::get_derivative() {
     NeuronConstant* output = new NeuronConstant( );
     return output;
-}
\ No newline at end of file
+}
+
diff --git a/src/Neuron/NeuronConstant.h b/src/Neuron/NeuronConstant.h
index 215cf2a1..1cab7cb1 100644
--- a/src/Neuron/NeuronConstant.h
+++ b/src/Neuron/NeuronConstant.h
@@ -8,25 +8,23 @@
 #ifndef INC_4NEURO_NEURONCONSTANT_H
 #define INC_4NEURO_NEURONCONSTANT_H
 
-#include "../settings.h"
+//#include "../settings.h"
 
 #include "Neuron.h"
+//#include "NeuronSerialization.h"
 
 class NeuronConstant: public Neuron, public IDifferentiable {
 private:
-    friend class boost::serialization::access;
-
     double p = 0.0;
 
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version){
-        ar & boost::serialization::base_object<Neuron>(*this);
-
-        ar & this->p;
-    };
-
 public:
 
+    /**
+     * Struct used to access private properties from
+     * the serialization function
+     */
+    struct access;
+
     /**
      * Constructs the object of the Linear neuron with activation function
      * f(x) = c
diff --git a/src/Neuron/NeuronConstantSerialization.h b/src/Neuron/NeuronConstantSerialization.h
index 2ca36194..2fd8ef40 100644
--- a/src/Neuron/NeuronConstantSerialization.h
+++ b/src/Neuron/NeuronConstantSerialization.h
@@ -2,8 +2,8 @@
 // Created by martin on 9/17/18.
 //
 
-#ifndef LIB4NEURO_NEURON_SERIALIZATION_H
-#define LIB4NEURO_NEURON_SERIALIZATION_H
+#ifndef LIB4NEURO_NEURON_CONSTANT_SERIALIZATION_H
+#define LIB4NEURO_NEURON_CONSTANT_SERIALIZATION_H
 
 #include <boost/serialization/base_object.hpp>
 #include <boost/archive/text_oarchive.hpp>
@@ -11,11 +11,9 @@
 #include <boost/serialization/export.hpp>
 
 #include "NeuronConstant.h"
-#include "../settings.h"
-#include "Neuron_serialization.h"
-
-BOOST_CLASS_EXPORT(NeuronConstant);
+#include "NeuronSerialization.h"
 
+BOOST_CLASS_EXPORT_KEY(NeuronConstant);
 
 struct NeuronConstant :: access {
     template <class Archive>
@@ -44,4 +42,6 @@ namespace boost {
     } // namespace serialization
 } // namespace boost
 
+
+
 #endif //LIB4NEURO_NEURON_SERIALIZATION_H
diff --git a/src/Neuron/NeuronLinear.cpp b/src/Neuron/NeuronLinear.cpp
index afb73c6a..395b7e08 100644
--- a/src/Neuron/NeuronLinear.cpp
+++ b/src/Neuron/NeuronLinear.cpp
@@ -2,8 +2,14 @@
 // Created by fluffymoo on 11.6.18.
 //
 
+#include <boost/serialization/export.hpp>
+
 #include "NeuronLinear.h"
+#include "NeuronConstant.h"
+#include "NeuronSerialization.h"
+#include "NeuronLinearSerialization.h"
 
+BOOST_CLASS_EXPORT_IMPLEMENT(NeuronLinear);
 
 
 NeuronLinear::NeuronLinear( ) {}
@@ -25,8 +31,3 @@ Neuron* NeuronLinear::get_derivative() {
     NeuronConstant* output = new NeuronConstant( 1.0 );
     return output;
 }
-
-//template<class Archive>
-//void NeuronLinear::serialize(Archive & ar, const unsigned int version) {
-//    ar & boost::serialization::base_object<Neuron>(*this);
-//}
diff --git a/src/Neuron/NeuronLinear.h b/src/Neuron/NeuronLinear.h
index 93ee1162..8d40deff 100644
--- a/src/Neuron/NeuronLinear.h
+++ b/src/Neuron/NeuronLinear.h
@@ -13,23 +13,22 @@
 #include "../settings.h"
 
 #include "Neuron.h"
-#include "NeuronConstant.h"
+//#include "NeuronConstant.h"
 
 /**
  * Linear neuron class - uses activation function in the form f(x)=a*x + b,
  * 'x' being the neuron's potential
  */
 class NeuronLinear:public Neuron, public IDifferentiable {
-private:
-    friend class boost::serialization::access;
-
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version){
-        ar & boost::serialization::base_object<Neuron>(*this);
-    };
 
 public:
 
+    /**
+     * Struct used to access private properties from
+     * the serialization function
+     */
+    struct access;
+
     /**
      * Constructs the object of the Linear neuron with activation function
      * f(x) = x + b
diff --git a/src/Neuron/NeuronLinearSerialization.h b/src/Neuron/NeuronLinearSerialization.h
index e4259383..fdbbff5c 100644
--- a/src/Neuron/NeuronLinearSerialization.h
+++ b/src/Neuron/NeuronLinearSerialization.h
@@ -5,4 +5,41 @@
 #ifndef LIB4NEURO_NEURONLINEARSERIALIZATION_H
 #define LIB4NEURO_NEURONLINEARSERIALIZATION_H
 
+#include <boost/serialization/base_object.hpp>
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/serialization/export.hpp>
+
+#include "NeuronLinear.h"
+#include "NeuronSerialization.h"
+
+BOOST_CLASS_EXPORT_KEY(NeuronLinear);
+
+
+struct NeuronLinear :: access {
+    template <class Archive>
+    static void serialize(Archive &ar, NeuronLinear& n, const unsigned int version) {
+        ar & boost::serialization::base_object<Neuron>(n);
+    }
+};
+
+namespace boost {
+    namespace serialization {
+
+        /**
+         * Serialization function
+         * @tparam Archive Boost library template
+         * @param ar Boost parameter - filled automatically during serialization!
+         * @param n NeuronLinear instance
+         * @param version Boost parameter - filled automatically during serialization!
+         */
+        template<class Archive>
+        void serialize(Archive & ar, NeuronLinear& n, const unsigned int version)
+        {
+            NeuronLinear::access::serialize(ar, n, version);
+        }
+
+    } // namespace serialization
+} // namespace boost
+
 #endif //LIB4NEURO_NEURONLINEARSERIALIZATION_H
diff --git a/src/Neuron/NeuronLogistic.cpp b/src/Neuron/NeuronLogistic.cpp
index 6ca3f800..4e52c629 100644
--- a/src/Neuron/NeuronLogistic.cpp
+++ b/src/Neuron/NeuronLogistic.cpp
@@ -2,8 +2,15 @@
 // Created by fluffymoo on 11.6.18.
 //
 
+#include <boost/serialization/export.hpp>
 
 #include "NeuronLogistic.h"
+#include "NeuronSerialization.h"
+#include "NeuronLogisticSerialization.h"
+
+BOOST_CLASS_EXPORT_IMPLEMENT(NeuronLogistic);
+BOOST_CLASS_EXPORT_IMPLEMENT(NeuronLogistic_d1);
+BOOST_CLASS_EXPORT_IMPLEMENT(NeuronLogistic_d2);
 
 NeuronLogistic_d2::NeuronLogistic_d2( ) {}
 
diff --git a/src/Neuron/NeuronLogistic.h b/src/Neuron/NeuronLogistic.h
index 79ad8191..0cb3cc1c 100644
--- a/src/Neuron/NeuronLogistic.h
+++ b/src/Neuron/NeuronLogistic.h
@@ -10,29 +10,23 @@
 #ifndef INC_4NEURO_NEURONLOGISTIC_H
 #define INC_4NEURO_NEURONLOGISTIC_H
 
-#include <boost/archive/text_oarchive.hpp>
 
 #include "../settings.h"
 
 #include <cmath>
-#include "Neuron.h"
-#include "../constants.h"
-
-
-
 
+#include "Neuron.h"
 
 class NeuronLogistic:public Neuron, public IDifferentiable {
-    friend class boost::serialization::access;
-
-protected:
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version){
-        //TODO separate implementation to NeuronLogistic.cpp!
-        ar & boost::serialization::base_object<Neuron>(*this);
-    };
 
 public:
+
+    /**
+     * Struct used to access private properties from
+     * the serialization function
+     */
+    struct access;
+
     /**
      * Constructs the object of the Logistic neuron with activation function
      * f(x) = (1 + e^(-x + b))^(-1)
@@ -66,17 +60,15 @@ public:
 
 
 class NeuronLogistic_d1:public NeuronLogistic {
-private:
-    friend class boost::serialization::access;
-
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version){
-        //TODO separate implementation to Neuronogistic_d1.cpp!
-        ar & boost::serialization::base_object<Neuron>(*this);
-    };
 
 public:
 
+    /**
+     * Struct used to access private properties from
+     * the serialization function
+     */
+    struct access;
+
     /**
      * Constructs the object of the Logistic neuron with activation function
      * f(x) = e^(b - x)/(e^(b - x) + 1)^2
@@ -112,17 +104,15 @@ public:
 
 
 class NeuronLogistic_d2:public NeuronLogistic_d1 {
-private:
-    friend class boost::serialization::access;
-
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version){
-        //TODO separate implementation to NeuronLogistic_d1.cpp!
-        ar & boost::serialization::base_object<Neuron>(*this);
-    };
 
 public:
 
+    /**
+     * Struct used to access private properties from
+     * the serialization function
+     */
+    struct access;
+
     /**
      * Constructs the object of the Logistic neuron with activation function
      * f(x) = (e^(b + x) (e^b - e^x))/(e^b + e^x)^3
diff --git a/src/Neuron/NeuronLogisticSerialization.h b/src/Neuron/NeuronLogisticSerialization.h
index 723a362b..0ca37ce9 100644
--- a/src/Neuron/NeuronLogisticSerialization.h
+++ b/src/Neuron/NeuronLogisticSerialization.h
@@ -5,4 +5,83 @@
 #ifndef LIB4NEURO_NEURONLOGISTICSERIALIZATION_H
 #define LIB4NEURO_NEURONLOGISTICSERIALIZATION_H
 
+#include <boost/serialization/base_object.hpp>
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/serialization/export.hpp>
+
+#include "../constants.h"
+#include "NeuronLogistic.h"
+#include "NeuronSerialization.h"
+
+BOOST_CLASS_EXPORT_KEY(NeuronLogistic);
+BOOST_CLASS_EXPORT_KEY(NeuronLogistic_d1);
+BOOST_CLASS_EXPORT_KEY(NeuronLogistic_d2);
+
+struct NeuronLogistic :: access {
+    template <class Archive>
+    static void serialize(Archive &ar, NeuronLogistic& n, const unsigned int version) {
+        ar & boost::serialization::base_object<Neuron>(n);
+    }
+};
+
+struct NeuronLogistic_d1 :: access {
+    template <class Archive>
+    static void serialize(Archive &ar, NeuronLogistic_d1& n, const unsigned int version) {
+        ar & boost::serialization::base_object<NeuronLogistic>(n);
+    }
+};
+
+struct NeuronLogistic_d2 :: access {
+    template <class Archive>
+    static void serialize(Archive &ar, NeuronLogistic_d2& n, const unsigned int version) {
+        ar & boost::serialization::base_object<NeuronLogistic_d1>(n);
+    }
+};
+
+namespace boost {
+    namespace serialization {
+
+        /**
+         * Serialization function
+         * @tparam Archive Boost library template
+         * @param ar Boost parameter - filled automatically during serialization!
+         * @param n NeuronLogistic instance
+         * @param version Boost parameter - filled automatically during serialization!
+         */
+        template<class Archive>
+        void serialize(Archive & ar, NeuronLogistic& n, const unsigned int version)
+        {
+            NeuronLogistic::access::serialize(ar, n, version);
+        }
+
+        /**
+         * Serialization function
+         * @tparam Archive Boost library template
+         * @param ar Boost parameter - filled automatically during serialization!
+         * @param n NeuronLogistic_d1 instance
+         * @param version Boost parameter - filled automatically during serialization!
+         */
+        template<class Archive>
+        void serialize(Archive & ar, NeuronLogistic_d1& n, const unsigned int version)
+        {
+            NeuronLogistic_d1::access::serialize(ar, n, version);
+        }
+
+        /**
+         * Serialization function
+         * @tparam Archive Boost library template
+         * @param ar Boost parameter - filled automatically during serialization!
+         * @param n NeuronLogistic_d2 instance
+         * @param version Boost parameter - filled automatically during serialization!
+         */
+        template<class Archive>
+        void serialize(Archive & ar, NeuronLogistic_d2& n, const unsigned int version)
+        {
+            NeuronLogistic_d2::access::serialize(ar, n, version);
+        }
+
+    } // namespace serialization
+} // namespace boost
+
 #endif //LIB4NEURO_NEURONLOGISTICSERIALIZATION_H
diff --git a/src/Neuron/NeuronSerialization.h b/src/Neuron/NeuronSerialization.h
index 9fe369b9..13be0c14 100644
--- a/src/Neuron/NeuronSerialization.h
+++ b/src/Neuron/NeuronSerialization.h
@@ -7,13 +7,14 @@
 
 #include <boost/archive/text_oarchive.hpp>
 #include <boost/archive/text_iarchive.hpp>
-#include <boost/serialization/access.hpp>
 #include <boost/serialization/assume_abstract.hpp>
+#include <boost/serialization/export.hpp>
 
 #include "Neuron.h"
 
 BOOST_SERIALIZATION_ASSUME_ABSTRACT(Neuron);
 
+BOOST_CLASS_EXPORT_KEY(Neuron);
 
 struct Neuron :: access {
     template <class Archive>
-- 
GitLab