diff --git a/.gitignore b/.gitignore
index 314b5d5ff8e24229d67d3bcd1ecb8ad689c04c6f..99f5bcfdd8fa5d1c7daed81af666ef4f63907054 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
+.venv/
+.vs/
 build/
 Build/
 _skbuild/
diff --git a/.gitmodules b/.gitmodules
index 6fad4aef9ed303a1bf2d940ebf6670926a8c14ff..284cd62f6f714d213503e17326780b111538a841 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,9 +1,6 @@
 [submodule "dep/filib"]
 	path = dep/filib
 	url = ../../public/thirdparty/filib.git
-[submodule "dep/nlopt"]
-	path = dep/nlopt
-	url = ../../public/thirdparty/nlopt.git
 [submodule "dep/fadbad"]
 	path = dep/fadbad
 	url = ../../public/thirdparty/fadbad.git
@@ -52,3 +49,6 @@
 [submodule "dep/melon"]
 	path = dep/melon
 	url = ../../public/melon.git
+[submodule "dep/nlopt"]
+	path = dep/nlopt
+	url = ../../public/thirdparty/nlopt.git
diff --git a/AUTHORS b/AUTHORS
index 6013fd27e68d540101f2139dc4d8909168823ec7..c4c3beb9555a918477c066aafe8cf900d0410ced 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -31,9 +31,18 @@ Contributors:
     CI/CD & unit testing
     Refactoring
     Python parallelization
-  
+
+- Susanne Sass (AVT.SVT, RWTH Aachen University)
+    Algorithm for large parameter estimation problems
+
+- Marco Langiu (IEK-10, Forschungszentrum Jülich / AVT.SVT, RWTH Aachen University)
+    Two-Stage Stochastic Programming problem class and algorithm
+
+- Rene Görgen (AVT.SVT, RWTH Aachen University)
+    Python build & CI/CD
+
 - Jannik Burre          (AVT.SVT, RWTH Aachen University)
   Wolfgang R. Huster    (AVT.SVT, RWTH Aachen University)
   Kaan Karacasulu       (AVT.SVT, RWTH Aachen University)
-  Marco Langiu          (IEK-10, Forschungszentrum Jülich)
+  Marco Langiu          (IEK-10, Forschungszentrum Jülich / AVT.SVT, RWTH Aachen University)
     Testing and bug reports
\ No newline at end of file
diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt
index bdc0afdae12824a5f91c707359fd489c08eaba3c..447ad836985f5194fd547b672502ca22393f02af 100644
--- a/ReleaseNotes.txt
+++ b/ReleaseNotes.txt
@@ -1,6 +1,16 @@
+Release version 0.8.2 (January 23th, 2025):
+    - New features:
+	- Added example for optimization of multifidelity Gaussian processes using MeLOn
+	- Added compliance with PEP 517: python wheels are now installable with Poetry, Pixi, etc.
+    - Bugfixes:
+	- Minor bug fixes
+	- Bug fixes in extension for handling parameter estimation problems
+    - Third-party libraries:
+	- Upgraded to Nlopt version 2.9.1
+
 Release version 0.8.1 (July 23th, 2024):
     - Bugfixes:
-	-Add missing commit in babbase
+	- Added missing commit in babbase
 
 Release version 0.8.0 (July 23th, 2024):
     - New features & extensions: 
@@ -29,15 +39,15 @@ Release version 0.7.2 (October 31th, 2023):
 
 Release version 0.7.1 (July 26th, 2023):
     - Bugfixes:
-        - Add missing commmit in babbase
+        - Added missing commmit in babbase
 
 Release version 0.7.0 (July 26th, 2023):
     - New features & interfaces:
         - MAiNGO can also be used in parallel in python (requires package mpi4py)
         - MAiNGO is now also available in JuMP
     - Bugfixes:
-        - in Utility MAiNGOReaderWriter
-	- in writing into ALE syntax
+        - In Utility MAiNGOReaderWriter
+	- In writing into ALE syntax
 
 Release version 0.6.0 (May 26th, 2023):
     - New features & interfaces:
diff --git a/cmake/MAiNGOversion.cmake b/cmake/MAiNGOversion.cmake
index 9ef9bf5a3d247934f1adb7c5ada7bd8d2bff1fba..9c429ec0430b8b5522130f85dbb7e6e37c81ff59 100644
--- a/cmake/MAiNGOversion.cmake
+++ b/cmake/MAiNGOversion.cmake
@@ -1,3 +1,3 @@
 set(MAiNGO_VERSION
-0.8.1
+0.8.2
 )
diff --git a/dep/babbase b/dep/babbase
index b6f4cc80d26e4ce7377f0c30ae19acfa2c82a3ea..e18df0d087a150ffa6f4cbaee2a9ffeb46ab11ae 160000
--- a/dep/babbase
+++ b/dep/babbase
@@ -1 +1 @@
-Subproject commit b6f4cc80d26e4ce7377f0c30ae19acfa2c82a3ea
+Subproject commit e18df0d087a150ffa6f4cbaee2a9ffeb46ab11ae
diff --git a/dep/melon b/dep/melon
index f81eca75e67c88be3cdc5c30844f95be9a58d6e9..9ee56216a07f211ac405fb1a4a40764de9ac32f6 160000
--- a/dep/melon
+++ b/dep/melon
@@ -1 +1 @@
-Subproject commit f81eca75e67c88be3cdc5c30844f95be9a58d6e9
+Subproject commit 9ee56216a07f211ac405fb1a4a40764de9ac32f6
diff --git a/dep/nlopt b/dep/nlopt
index 798f331644352daaeedc4cea0e8ca67bba2328f3..63e60751cb36031b2d7008a3456896c5a77c7143 160000
--- a/dep/nlopt
+++ b/dep/nlopt
@@ -1 +1 @@
-Subproject commit 798f331644352daaeedc4cea0e8ca67bba2328f3
+Subproject commit 63e60751cb36031b2d7008a3456896c5a77c7143
diff --git a/doc/manual.dox b/doc/manual.dox
index 7e6ab38a06d189f846de6f005b90124fa45c3a71..93d943ac636ec94af88f12278696b09827c3c628 100644
--- a/doc/manual.dox
+++ b/doc/manual.dox
@@ -1895,10 +1895,9 @@ In this case you can reset it via <tt>\<mpiexec\> -remove</tt>.
 @section growing_datasets MAiNGO - Parameter estimation
 
 MAiNGO implements the extension for handling parameter estimation problems considering large datasets proposed in
-
-S. Sass, A. Mitsos, D. Bongartz, I. H. Bell, N. I. Nikolov, A. Tsoukalas (2024): (<a href="https://doi.org/10.1016/j.ejor.2024.02.020">A branch-and-bound algorithm with growing datasets for large-scale parameter estimation</a>), <b>European Journal of Operational Research</b>, 316(1), 36-35
-
-Sass, S., Mitsos, A., Nikolov, N. I., & Tsoukalas, A. (Submitted 2024):  Out-of-sample estimation for a branch-and-bound algorithm with growing datasets.
+    - S. Sass, A. Mitsos, D. Bongartz, I. H. Bell, N. I. Nikolov, A. Tsoukalas (2024): <a href="https://doi.org/10.1016/j.ejor.2024.02.020">A branch-and-bound algorithm with growing datasets for large-scale parameter estimation</a>, <b>European Journal of Operational Research</b>, 316(1), 36-35
+    - S. Sass, A. Mitsos, N. I. Nikolov, A. Tsoukalas (Submitted 2024):  Out-of-sample estimation for a branch-and-bound algorithm with growing datasets
+    - S. Sass (2024): <a href="https://doi.org/10.18154/RWTH-2024-11336">Global parameter estimation for the efficient optimization of real-world applications</a>, Ph.D. Thesis, RWTH Aachen University.
 
 This approach focuses on general nonconvex optimization problems of the form
 \htmlonly <style>div.image img[src="ParamEstProblem.PNG"]{width:6cm;align:left}</style> \endhtmlonly
@@ -1931,7 +1930,7 @@ It may look like this:
 
 Additional settings allow to adapt this extension to the needs of the specific model solved, cf. settings with prefix <tt>growing</tt> in <tt>MAiNGOSettings.txt</tt>.
 These include, e.g., the choice when and how many data points to augment as well as the size of the initial dataset.
-For more details please refer to (<a href="https://doi.org/10.1016/j.ejor.2024.02.020">Sass et al. (2024)</a>) and Sass et al. (Submitted 2024) referenced above.
+For more details please refer to <a href="https://doi.org/10.18154/RWTH-2024-11336">Sass (2024)</a> referenced above.
 
 @section two_stage MAiNGO - Two-Stage Stochastic Programming
 
@@ -1953,7 +1952,6 @@ Note that above we used \f$\boldsymbol{y} = (\boldsymbol{y}_1, \cdots, \boldsymb
 The first-stage objective and constraints \f$f_\mathrm{I}\f$, and \f$\boldsymbol{g}_\mathrm{I}\f$ are functions of \f$\boldsymbol{x}\f$ only and the second-stage objective and constraints \f$f_\mathrm{II}\f$, and \f$\boldsymbol{g}_\mathrm{II}\f$ are functions of both \f$\boldsymbol{x}\f$ and \f$\boldsymbol{y}_s\f$, as well as the parameters \f$\boldsymbol{p}_s\f$
 (Note that in the above representation all constraints are assumed to be inequality constraints for ease of exposition). 
 
-
 Problems of this type can be specified via the \ref maingo::TwoStageModel class which is a specialization of the standard \ref maingo::MAiNGOmodel.
 Initializing a \ref maingo::TwoStageModel requires:
 
@@ -2000,6 +1998,10 @@ In the python interface this class is available as maingopy.TwoStageModel.
 Also see the examples in `examples/08_TwoStage`.
 
 The resulting problems are solved via a specialized variant of the default branch-and-bound algorithm, which exploits the problem structure for efficiency.
+The algorithm is presented in:
+
+M. Langiu, M. Dahmen, D. Bongartz, A. Mitsos (2024). MUSE-BB: A Decomposition Algorithm for Nonconvex Two-Stage Problems using Strong Multisection Branching, Submitted to Journal of Global Optimization. (Preprint available at <a href="https://optimization-online.org/?p=26862">https://optimization-online.org/?p=26862</a>)
+
 In particular, the algorithm bounds the optimal solution value from above and below by solving separate subproblems for each scenario.
 As part of this algorithm, second-stage variables to be branched are selected via a variant of strong-branching that makes use of these separate subproblems.
 Additionally, the independence of subproblems allows to branch on multiple second-stage variables simultaneously, and create a combinatorial number of nodes from the results from strong-branching.
@@ -2259,4 +2261,7 @@ Examples of MAiNGO applications with machine-learning models using the "MeLOn" t
 MAiNGO with extension for handling parameter estimation problems considering large datasets:
     - S. Sass, A. Tsoukalas, I.H. Bell, D. Bongartz, J. Najman and A. Mitsos, Towards global parameter estimation exploiting reduced data sets, Optimization Methods and Software 38 (2023) 1129-1141.
     - S. Sass, A. Mitsos, D. Bongartz, I.H. Bell, N.I. Nikolov and A. Tsoukalas, A branch-and-bound algorithm with growing datasets for large-scale parameter estimation, European Journal of Operational Research 316 (2024) 36-45.
+
+MAiNGO for solving TSSP (Two-Stage Stochastic Programming) problems:
+    - M. Langiu, M. Dahmen, D. Bongartz, A. Mitsos (2024). MUSE-BB: A Decomposition Algorithm for Nonconvex Two-Stage Problems using Strong Multisection Branching, Submitted to Journal of Global Optimization. (Preprint available at <a href="https://optimization-online.org/?p=26862">https://optimization-online.org/?p=26862</a>).
  */
diff --git a/examples/09_MultifidelityGaussianProcess/README.md b/examples/09_MultifidelityGaussianProcess/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..852b1a73743f6bc92152e52a121e691c4db5c574
--- /dev/null
+++ b/examples/09_MultifidelityGaussianProcess/README.md
@@ -0,0 +1,4 @@
+# Example Problem Number 09 - Optimization with Multifidelity Gaussian processes embedded
+
+First have a look at example '05_GaussianProcess', then come back here
+Please copy the folder 'modelData' into the folder where your MAiNGO executable is in order to run the problem. If you are using Visual Studio, this should be the Release folder containing MAiNGO.exe.
\ No newline at end of file
diff --git a/examples/09_MultifidelityGaussianProcess/modelData/highGpData.json b/examples/09_MultifidelityGaussianProcess/modelData/highGpData.json
new file mode 100644
index 0000000000000000000000000000000000000000..eef5157f1e973998000fd863d3e5588b93ca13be
--- /dev/null
+++ b/examples/09_MultifidelityGaussianProcess/modelData/highGpData.json
@@ -0,0 +1,686 @@
+{
+  "nX": 16,
+  "DX": 2,
+  "DY": 1,
+  "X": [
+    [
+      0.5466506078116019,
+      0.7405379033951585
+    ],
+    [
+      0.6022928936278866,
+      0.5479804433818865
+    ],
+    [
+      0.41756566031672404,
+      0.6621889104046206
+    ],
+    [
+      0.4319351335992524,
+      0.9401929919415408
+    ],
+    [
+      0.9745137331068474,
+      0.3654456922826828
+    ],
+    [
+      0.7971823046317001,
+      0.5299032409029939
+    ],
+    [
+      0.566484945445456,
+      0.9784358413693042
+    ],
+    [
+      0.053885228855070605,
+      0.030418935446443793
+    ],
+    [
+      0.0014734122557061372,
+      0.8733112082159229
+    ],
+    [
+      0.783188378776568,
+      0.9155889851529335
+    ],
+    [
+      0.989938473151456,
+      0.8354780584487125
+    ],
+    [
+      0.4565767841041593,
+      0.8144146563434316
+    ],
+    [
+      0.1026054695335997,
+      0.655435407091253
+    ],
+    [
+      0.1284710578343302,
+      1.0
+    ],
+    [
+      0.5188395247791672,
+      0.40074520332141184
+    ],
+    [
+      0.25347551334571866,
+      0.8072966355306401
+    ]
+  ],
+  "Y": [
+    0.12198073608210651,
+    -0.22867625110123513,
+    -0.38675281141320234,
+    0.484069683952157,
+    0.6567210343443561,
+    0.3216000797167893,
+    0.8493142982777245,
+    -2.9885538802195777,
+    -0.14855443857278153,
+    1.1695472778560863,
+    1.5488725432680353,
+    0.14268412434104027,
+    -0.8664142783144493,
+    0.33480706484827133,
+    -0.8042230677250732,
+    -0.20642211534024854
+  ],
+  "K": [
+    [
+      0.0870543611921501,
+      0.0870543597577868,
+      0.08705436038379954,
+      0.08705435930263532,
+      0.08705434969647867,
+      0.08705435738850482,
+      0.08705435915595719,
+      0.08705433460090695,
+      0.08705435005900897,
+      0.08705435811971503,
+      0.08705435392543483,
+      0.08705436071032555,
+      0.08705435396496283,
+      0.0870543526068894,
+      0.08705435703944349,
+      0.08705435799499985
+    ],
+    [
+      0.0870543597577868,
+      0.0870543611921501,
+      0.08705435951990917,
+      0.0870543546703669,
+      0.0870543551051427,
+      0.08705435983794245,
+      0.08705435452669362,
+      0.08705434099654678,
+      0.08705434465542587,
+      0.08705435520741557,
+      0.08705435292854515,
+      0.08705435790523798,
+      0.08705435195569816,
+      0.08705434595971448,
+      0.08705436017132982,
+      0.08705435448948638
+    ],
+    [
+      0.08705436038379954,
+      0.08705435951990917,
+      0.0870543611921501,
+      0.08705435842329788,
+      0.08705434708509183,
+      0.08705435547378824,
+      0.08705435683491332,
+      0.08705434226083415,
+      0.0870543534810253,
+      0.08705435417357842,
+      0.08705434854224672,
+      0.08705436031030088,
+      0.08705435768439146,
+      0.08705435416133704,
+      0.08705435838729439,
+      0.08705435948803737
+    ],
+    [
+      0.08705435930263532,
+      0.0870543546703669,
+      0.08705435842329788,
+      0.0870543611921501,
+      0.08705433899043111,
+      0.08705435046374738,
+      0.08705436049996378,
+      0.08705432658081022,
+      0.08705435448364608,
+      0.08705435680990747,
+      0.08705434979708289,
+      0.08705436060535601,
+      0.08705435446199808,
+      0.08705435780948294,
+      0.08705435052893315,
+      0.08705435943536431
+    ],
+    [
+      0.08705434969647867,
+      0.0870543551051427,
+      0.08705434708509183,
+      0.08705433899043111,
+      0.0870543611921501,
+      0.08705435911423061,
+      0.0870543418866501,
+      0.08705432723909168,
+      0.0870543185322775,
+      0.08705434908614981,
+      0.08705435329048182,
+      0.08705434451216698,
+      0.08705433132884109,
+      0.08705432152371935,
+      0.08705435380945079,
+      0.08705433584921117
+    ],
+    [
+      0.08705435738850482,
+      0.08705435983794245,
+      0.08705435547378824,
+      0.08705435046374738,
+      0.08705435911423061,
+      0.0870543611921501,
+      0.08705435212377295,
+      0.08705433276055963,
+      0.08705433460908969,
+      0.0870543558703892,
+      0.08705435654268363,
+      0.08705435420006734,
+      0.08705434358194339,
+      0.08705433749817706,
+      0.08705435785780993,
+      0.08705434799680964
+    ],
+    [
+      0.08705435915595719,
+      0.08705435452669362,
+      0.08705435683491332,
+      0.08705436049996378,
+      0.0870543418866501,
+      0.08705435212377295,
+      0.0870543611921501,
+      0.08705431981176709,
+      0.08705434951593402,
+      0.08705435939115588,
+      0.08705435412483728,
+      0.08705435980384084,
+      0.08705434986061351,
+      0.08705435439506151,
+      0.08705434918955196,
+      0.08705435668292798
+    ],
+    [
+      0.08705433460090695,
+      0.08705434099654678,
+      0.08705434226083415,
+      0.08705432658081022,
+      0.08705432723909168,
+      0.08705433276055963,
+      0.08705431981176709,
+      0.0870543611921501,
+      0.0870543357177072,
+      0.08705431442075547,
+      0.08705430709600004,
+      0.08705433350834635,
+      0.08705434715285737,
+      0.08705432741895476,
+      0.08705434865332569,
+      0.08705433822605602
+    ],
+    [
+      0.08705435005900897,
+      0.08705434465542587,
+      0.0870543534810253,
+      0.08705435448364608,
+      0.0870543185322775,
+      0.08705433460908969,
+      0.08705434951593402,
+      0.0870543357177072,
+      0.0870543611921501,
+      0.08705433953637831,
+      0.08705432662162217,
+      0.08705435374841952,
+      0.08705435913443708,
+      0.08705436004853365,
+      0.08705434375640235,
+      0.0870543587918325
+    ],
+    [
+      0.08705435811971503,
+      0.08705435520741557,
+      0.08705435417357842,
+      0.08705435680990747,
+      0.08705434908614981,
+      0.0870543558703892,
+      0.08705435939115588,
+      0.08705431442075547,
+      0.08705433953637831,
+      0.0870543611921501,
+      0.08705435945193785,
+      0.0870543570561353,
+      0.08705434240744199,
+      0.08705434579035065,
+      0.08705434925326683,
+      0.08705435085713441
+    ],
+    [
+      0.08705435392543483,
+      0.08705435292854515,
+      0.08705434854224672,
+      0.08705434979708289,
+      0.08705435329048182,
+      0.08705435654268363,
+      0.08705435412483728,
+      0.08705430709600004,
+      0.08705432662162217,
+      0.08705435945193785,
+      0.0870543611921501,
+      0.08705435112312751,
+      0.08705433221570606,
+      0.08705433400443607,
+      0.08705434659811616,
+      0.0870543419988043
+    ],
+    [
+      0.08705436071032555,
+      0.08705435790523798,
+      0.08705436031030088,
+      0.08705436060535601,
+      0.08705434451216698,
+      0.08705435420006734,
+      0.08705435980384084,
+      0.08705433350834635,
+      0.08705435374841952,
+      0.0870543570561353,
+      0.08705435112312751,
+      0.0870543611921501,
+      0.08705435586085222,
+      0.08705435615679537,
+      0.08705435494119872,
+      0.08705435973229435
+    ],
+    [
+      0.08705435396496283,
+      0.08705435195569816,
+      0.08705435768439146,
+      0.08705435446199808,
+      0.08705433132884109,
+      0.08705434358194339,
+      0.08705434986061351,
+      0.08705434715285737,
+      0.08705435913443708,
+      0.08705434240744199,
+      0.08705433221570606,
+      0.08705435586085222,
+      0.0870543611921501,
+      0.08705435692646299,
+      0.08705435275189308,
+      0.08705435956354188
+    ],
+    [
+      0.0870543526068894,
+      0.08705434595971448,
+      0.08705435416133704,
+      0.08705435780948294,
+      0.08705432152371935,
+      0.08705433749817706,
+      0.08705435439506151,
+      0.08705432741895476,
+      0.08705436004853365,
+      0.08705434579035065,
+      0.08705433400443607,
+      0.08705435615679537,
+      0.08705435692646299,
+      0.0870543611921501,
+      0.08705434297942767,
+      0.08705435931291791
+    ],
+    [
+      0.08705435703944349,
+      0.08705436017132982,
+      0.08705435838729439,
+      0.08705435052893315,
+      0.08705435380945079,
+      0.08705435785780993,
+      0.08705434918955196,
+      0.08705434865332569,
+      0.08705434375640235,
+      0.08705434925326683,
+      0.08705434659811616,
+      0.08705435494119872,
+      0.08705435275189308,
+      0.08705434297942767,
+      0.0870543611921501,
+      0.08705435279843572
+    ],
+    [
+      0.08705435799499985,
+      0.08705435448948638,
+      0.08705435948803737,
+      0.08705435943536431,
+      0.08705433584921117,
+      0.08705434799680964,
+      0.08705435668292798,
+      0.08705433822605602,
+      0.0870543587918325,
+      0.08705435085713441,
+      0.0870543419988043,
+      0.08705435973229435,
+      0.08705435956354188,
+      0.08705435931291791,
+      0.08705435279843572,
+      0.0870543611921501
+    ]
+  ],
+  "invK": [
+    [
+      16241664353827.59,
+      -6050915989649.598,
+      -2302135961461.145,
+      4249014847311.3613,
+      100659144259.096,
+      -228543702081.90787,
+      -909484327601.7565,
+      -75592823150.17882,
+      -205754257686.56348,
+      -1730004120426.8606,
+      561341098127.199,
+      -14375478978921.844,
+      14841760729.967985,
+      -337992433425.9679,
+      2338619049184.947,
+      2709762329967.2773
+    ],
+    [
+      -6050237812079.732,
+      10796303065995.383,
+      -2537189368926.702,
+      -1102351443732.2751,
+      878089729399.0824,
+      -4228704137185.871,
+      373943148293.1185,
+      179977258847.58704,
+      -360306893458.1258,
+      296097549394.6848,
+      179067283464.2488,
+      4348379158162.045,
+      518886807572.1892,
+      122206472102.34926,
+      -3630132631500.983,
+      215971832246.19745
+    ],
+    [
+      -2303031985609.4526,
+      -2537113207784.958,
+      8778855304379.168,
+      2534577134970.359,
+      -36378639811.69621,
+      1652433963425.0015,
+      -137864988982.21365,
+      98169593619.33722,
+      1016748991390.1915,
+      744542253078.5204,
+      -453291727882.4206,
+      -4435725602684.818,
+      -1291693494772.5027,
+      -316389154731.6004,
+      -1055156177355.6976,
+      -2258682250168.2974
+    ],
+    [
+      4245654759862.307,
+      -1101810988100.5164,
+      2532319759065.7944,
+      15174638272546.7,
+      111893172937.86835,
+      -161508285342.41428,
+      -8110764146168.349,
+      -54750815454.26472,
+      1412889166672.827,
+      2392865605207.43,
+      -450844929119.29913,
+      -11601090199103.07,
+      139321653114.82993,
+      -2526139722101.705,
+      124189923651.57172,
+      -2126863238106.5537
+    ],
+    [
+      100532458818.39163,
+      878142474118.3217,
+      -36716492656.80326,
+      111626530618.22438,
+      538773882118.93915,
+      -1110382698401.1003,
+      -196199224411.95673,
+      -13642633294.196943,
+      -31498411662.322926,
+      440696666768.25824,
+      -233798075990.503,
+      -136458748701.9127,
+      131522638122.20988,
+      -2561768766.2961597,
+      -368093046116.629,
+      -71943538418.50806
+    ],
+    [
+      -228570737301.45532,
+      -4228722758205.697,
+      1653294185829.4902,
+      -160403855216.8577,
+      -1110304718484.3535,
+      4036494814989.325,
+      558992462654.4534,
+      25140608776.2763,
+      5861429098.591412,
+      -441547090366.3657,
+      -232979123101.87576,
+      -252677895158.63992,
+      -142691882283.86346,
+      58960603501.51838,
+      676087312077.8412,
+      -216933381538.79816
+    ],
+    [
+      -906979535360.1405,
+      372962802218.9742,
+      -134376944336.62527,
+      -8107593464125.881,
+      -196217598281.44553,
+      559655951190.9119,
+      8144338234939.487,
+      26007570475.80743,
+      7539779356.651939,
+      -4092389032912.7646,
+      964738345387.2794,
+      1837776162985.029,
+      -434930371973.38385,
+      117003466679.9884,
+      -253137579282.4747,
+      2095602226492.9158
+    ],
+    [
+      -75466781150.35135,
+      179955127676.6642,
+      98231656197.73634,
+      -54568537444.91087,
+      -13632922013.854237,
+      25126057830.19457,
+      25937092805.652027,
+      71004764687.61581,
+      6199640033.877273,
+      -25872599481.0543,
+      12062469352.16412,
+      -18559339582.20144,
+      -166720892551.00122,
+      12732213523.597101,
+      -219408067487.67337,
+      142980124872.64856
+    ],
+    [
+      -205942795810.7945,
+      -360118666848.5641,
+      1016651209629.9337,
+      1412818001631.8696,
+      -31493208085.052444,
+      5684884896.521638,
+      7578672389.370087,
+      6191026029.496145,
+      2498600540245.1045,
+      11129605.391776623,
+      12441348282.64579,
+      -1187242709442.0334,
+      -1778200115403.5342,
+      -2282388708835.445,
+      352379706472.1124,
+      533029695252.1991
+    ],
+    [
+      -1731520306253.6523,
+      297108544449.7195,
+      742128725543.9752,
+      2390432315347.7007,
+      440715867679.4757,
+      -442089499745.55725,
+      -4091759425927.9077,
+      -25884869491.18776,
+      290309735.2019776,
+      4444201633526.221,
+      -1790921055312.9985,
+      417091145362.95966,
+      81877798309.81337,
+      66457833403.935165,
+      -171028507681.39957,
+      -627100518142.712
+    ],
+    [
+      561897562883.9614,
+      178680603917.49857,
+      -452635119269.2968,
+      -450293589088.4009,
+      -233829739232.2957,
+      -232746330338.08508,
+      964652080442.8279,
+      12066237824.538212,
+      12250701089.95892,
+      -1790986223736.3423,
+      1068475071190.7122,
+      57157262200.35277,
+      -89467622052.84668,
+      -5666066377.441927,
+      234754108364.3006,
+      165691073509.48492
+    ],
+    [
+      -14374639806353.266,
+      4349007307714.7476,
+      -4437388226058.621,
+      -11608520956471.662,
+      -137041499065.57808,
+      -251626104206.60187,
+      1844493307315.5566,
+      -18315309084.677486,
+      -1187812202617.4285,
+      413034486450.6136,
+      58392047913.3203,
+      25850256796227.543,
+      1459451706379.309,
+      2589142690287.2476,
+      -436493556132.42975,
+      -4111940680064.098
+    ],
+    [
+      14050643073.314228,
+      518890195610.077,
+      -1291948888107.4956,
+      138631263529.8665,
+      131504126042.86641,
+      -142606072325.4539,
+      -434988883108.746,
+      -166725431616.8063,
+      -1778266383267.5637,
+      82232100509.5853,
+      -89615514741.87062,
+      1460805157124.1921,
+      2559500854972.6187,
+      1436661118654.6824,
+      -259584913854.131,
+      -2178539385031.7747
+    ],
+    [
+      -337829262177.6747,
+      122043988608.7019,
+      -316517686415.0094,
+      -2526419862853.809,
+      -2587416381.5660105,
+      59155191909.541,
+      117029016362.06055,
+      12752355370.474905,
+      -2282460103493.7944,
+      66740824468.51818,
+      -5849841967.931138,
+      2588851651622.814,
+      1436541408858.5034,
+      2824952855085.785,
+      -253493445138.5159,
+      -1502909665880.1562
+    ],
+    [
+      2338369269616.1504,
+      -3630081012421.8774,
+      -1055470587398.7864,
+      123073324841.6875,
+      -368204809864.61896,
+      676330433977.194,
+      -252256017015.82983,
+      -219397516490.49957,
+      352351634794.76605,
+      -171455472670.5973,
+      234858996076.55853,
+      -435952592402.31476,
+      -259677556415.15768,
+      -253482646880.8744,
+      2597142763613.8447,
+      323851775140.5803
+    ],
+    [
+      2712049963021.502,
+      215668531289.7399,
+      -2257101554936.3296,
+      -2124659992293.244,
+      -71945359072.7441,
+      -216674493322.02383,
+      2096353011459.8677,
+      142999990219.58853,
+      533366069775.2094,
+      -628167718608.7301,
+      165923619651.5378,
+      -4117131265456.6353,
+      -2178562705141.2976,
+      -1503496744138.76,
+      323355047687.4344,
+      6908023587185.115
+    ]
+  ],
+  "meanfunction": -3.7900643790119855,
+  "matern": 3,
+  "sf2": 0.0870543611921501,
+  "ell": [
+    1921.947488860192,
+    1911.5196672684963
+  ],
+  "problemLowerBound": [
+    0.018789800436355142,
+    0.06022547162926983
+  ],
+  "problemUpperBound": [
+    0.9883738380592262,
+    0.9446689170495839
+  ],
+  "stdOfOutput": 0.27904683367496114,
+  "meanOfOutput": 1.0576054643875523
+}
\ No newline at end of file
diff --git a/examples/09_MultifidelityGaussianProcess/modelData/lowGpData.json b/examples/09_MultifidelityGaussianProcess/modelData/lowGpData.json
new file mode 100644
index 0000000000000000000000000000000000000000..9afa9662e925dfb8bb4b8ea5af7363feefa14905
--- /dev/null
+++ b/examples/09_MultifidelityGaussianProcess/modelData/lowGpData.json
@@ -0,0 +1,2366 @@
+{
+  "nX": 32,
+  "DX": 2,
+  "DY": 1,
+  "X": [
+    [
+      0.5466506078116019,
+      0.7405379033951585
+    ],
+    [
+      0.6022928936278866,
+      0.5479804433818865
+    ],
+    [
+      0.41756566031672404,
+      0.6621889104046206
+    ],
+    [
+      0.4319351335992524,
+      0.9401929919415408
+    ],
+    [
+      0.9745137331068474,
+      0.3654456922826828
+    ],
+    [
+      0.7971823046317001,
+      0.5299032409029939
+    ],
+    [
+      0.566484945445456,
+      0.9784358413693042
+    ],
+    [
+      0.053885228855070605,
+      0.030418935446443793
+    ],
+    [
+      0.0014734122557061372,
+      0.8733112082159229
+    ],
+    [
+      0.783188378776568,
+      0.9155889851529335
+    ],
+    [
+      0.989938473151456,
+      0.8354780584487125
+    ],
+    [
+      0.4565767841041593,
+      0.8144146563434316
+    ],
+    [
+      0.1026054695335997,
+      0.655435407091253
+    ],
+    [
+      0.1284710578343302,
+      1.0
+    ],
+    [
+      0.5188395247791672,
+      0.40074520332141184
+    ],
+    [
+      0.25347551334571866,
+      0.8072966355306401
+    ],
+    [
+      0.4510805817848137,
+      0.5746082238168013
+    ],
+    [
+      0.0,
+      0.6302381778426875
+    ],
+    [
+      0.6119179970626107,
+      0.6294450234530513
+    ],
+    [
+      0.9539743252642535,
+      0.7028090158764341
+    ],
+    [
+      0.351406465985939,
+      0.4260379610716679
+    ],
+    [
+      0.7001367278644819,
+      0.0
+    ],
+    [
+      0.6683040250930258,
+      0.6901655511719048
+    ],
+    [
+      0.19760304749572163,
+      0.0776769010854445
+    ],
+    [
+      0.3059441358121957,
+      0.34313703254268274
+    ],
+    [
+      0.5687046698225445,
+      0.4278125908358503
+    ],
+    [
+      1.0,
+      0.04728322577921806
+    ],
+    [
+      0.19605000524195476,
+      0.1142911361705985
+    ],
+    [
+      0.6542171698537879,
+      0.21829109810267344
+    ],
+    [
+      0.46155975661185406,
+      0.2082667030052956
+    ],
+    [
+      0.14457723907341058,
+      0.05670195171292458
+    ],
+    [
+      0.6575394852745043,
+      0.08814297864155263
+    ]
+  ],
+  "Y": [
+    0.503772439854271,
+    0.1872685867096385,
+    0.04458829725506552,
+    0.8305948086383758,
+    0.9864303392196728,
+    0.6839493470081153,
+    1.1602654896732443,
+    -2.303803702595444,
+    0.2595867304029469,
+    1.4493085592400978,
+    1.7916884703388605,
+    0.5224593686667744,
+    -0.38835531438862536,
+    0.6958700040471044,
+    -0.3322213758027246,
+    0.20735522400534212,
+    -0.11058312161525664,
+    -0.5051950084956299,
+    0.3883763879485756,
+    1.4387638760342378,
+    -0.6902890598636653,
+    -0.21235068964825268,
+    0.6610291818214974,
+    -1.8258608159896854,
+    -0.9908165746244808,
+    -0.1442291726754745,
+    0.8315874480336799,
+    -1.7647728996437204,
+    -0.21135818706802814,
+    -0.8305191198057609,
+    -2.015199145387314,
+    -0.3173403712934294
+  ],
+  "K": [
+    [
+      277.73537263117913,
+      277.6846005320716,
+      277.6927192671536,
+      277.6752156599048,
+      277.57870975527095,
+      277.6449533518036,
+      277.67569814685123,
+      277.5066148485825,
+      277.57192842306364,
+      277.6533175164575,
+      277.6030880169555,
+      277.70312752570186,
+      277.6032863141427,
+      277.5965662349211,
+      277.6501574383007,
+      277.6476942897422,
+      277.6853381728577,
+      277.5725463555118,
+      277.70166018235653,
+      277.6154137986053,
+      277.6381635458298,
+      277.5451330359733,
+      277.69750148933156,
+      277.540772971048,
+      277.6135761180834,
+      277.6570373916554,
+      277.51709620846736,
+      277.5482270551247,
+      277.6012439648274,
+      277.60018454119677,
+      277.5278664190713,
+      277.5693156573492
+    ],
+    [
+      277.6846005320716,
+      277.73537263117913,
+      277.67409483806154,
+      277.62543179930253,
+      277.61697165827945,
+      277.67796978132293,
+      277.62740859360946,
+      277.52897125272955,
+      277.54120534914404,
+      277.6293474416823,
+      277.600828562025,
+      277.65628865079753,
+      277.5862424418863,
+      277.5562741191456,
+      277.6911958225855,
+      277.6142201162946,
+      277.69047644143546,
+      277.55737240638575,
+      277.71483866607224,
+      277.62512249061336,
+      277.65566614322825,
+      277.59560892629503,
+      277.6949283906751,
+      277.56835762336397,
+      277.6344499740066,
+      277.7037923512606,
+      277.56434849858715,
+      277.57431016003335,
+      277.65167129714627,
+      277.64103938876343,
+      277.5534663425554,
+      277.61944854771497
+    ],
+    [
+      277.6927192671536,
+      277.67409483806154,
+      277.73537263117913,
+      277.6658438872909,
+      277.55587954972617,
+      277.619129292494,
+      277.6451281290628,
+      277.5449494202669,
+      277.60233052960456,
+      277.61077860274753,
+      277.56186522969847,
+      277.6956802331189,
+      277.6428816679303,
+      277.6157293881639,
+      277.663651489856,
+      277.6750924161409,
+      277.71139454240785,
+      277.61251855709656,
+      277.6777227069082,
+      277.5775699342522,
+      277.6733012450114,
+      277.55044985854187,
+      277.66142025392344,
+      277.5758269236295,
+      277.6492477667048,
+      277.66193784068935,
+      277.5056346552213,
+      277.58394106094534,
+      277.60458910206995,
+      277.6213312658598,
+      277.5643128324425,
+      277.5757084326281
+    ],
+    [
+      277.6752156599048,
+      277.62543179930253,
+      277.6658438872909,
+      277.73537263117913,
+      277.52102932211267,
+      277.58709606619215,
+      277.6947265089757,
+      277.4826654551469,
+      277.60789465384596,
+      277.6320603044252,
+      277.5694867690955,
+      277.70314846933144,
+      277.6153672048152,
+      277.64502993364056,
+      277.5983259837194,
+      277.6733525291251,
+      277.64393912072774,
+      277.58682738139044,
+      277.6415116745521,
+      277.57106170293343,
+      277.60487414972624,
+      277.4878843521705,
+      277.64203512995357,
+      277.50939256576766,
+      277.58182519978135,
+      277.60132220812983,
+      277.4570751848831,
+      277.5179308299253,
+      277.54374543845296,
+      277.5524858283034,
+      277.499301513622,
+      277.51265306344294
+    ],
+    [
+      277.57870975527095,
+      277.61697165827945,
+      277.55587954972617,
+      277.52102932211267,
+      277.73537263117913,
+      277.6690650694518,
+      277.5410697375576,
+      277.4525213117442,
+      277.4229358931199,
+      277.5870111173566,
+      277.61795706011543,
+      277.546496171818,
+      277.4694163379982,
+      277.440865711103,
+      277.6013021023311,
+      277.49672118869563,
+      277.5730803660485,
+      277.44181578985365,
+      277.61017147873537,
+      277.6509402622981,
+      277.5518277475976,
+      277.6136743644495,
+      277.6143261024674,
+      277.4962829705933,
+      277.53903137352086,
+      277.6152160254442,
+      277.6555966478744,
+      277.49842649127027,
+      277.6344119973091,
+      277.579754680917,
+      277.47987194096504,
+      277.61938946623326
+    ],
+    [
+      277.6449533518036,
+      277.67796978132293,
+      277.619129292494,
+      277.58709606619215,
+      277.6690650694518,
+      277.7353726254634,
+      277.60452086119403,
+      277.4840979789957,
+      277.4865834460798,
+      277.6390075198529,
+      277.64039050551077,
+      277.61272036220913,
+      277.52908639944945,
+      277.506691883884,
+      277.64751756170915,
+      277.56138898086436,
+      277.6331444176253,
+      277.5000358736715,
+      277.6755667681196,
+      277.67226407401677,
+      277.6019546455777,
+      277.6000700753062,
+      277.6803021492913,
+      277.52628770177887,
+      277.5838081378482,
+      277.66360884523795,
+      277.60099331265894,
+      277.53068106952094,
+      277.6469816597632,
+      277.60827033346806,
+      277.5103298756722,
+      277.6177266410997
+    ],
+    [
+      277.67569814685123,
+      277.62740859360946,
+      277.6451281290628,
+      277.6947265089757,
+      277.5410697375576,
+      277.60452086119403,
+      277.73537263117913,
+      277.45501106460614,
+      277.5674394187285,
+      277.66983745690595,
+      277.6060306982601,
+      277.68323626762543,
+      277.57711435768977,
+      277.6066629708338,
+      277.5905013188554,
+      277.63402715162124,
+      277.62902610846044,
+      277.54773646839465,
+      277.64723851624103,
+      277.602424219131,
+      277.5837225226264,
+      277.48806386415396,
+      277.6574473558055,
+      277.4858628709398,
+      277.55932460185545,
+      277.59793096082484,
+      277.4704440975691,
+      277.4938540799914,
+      277.5439125569218,
+      277.54069967700065,
+      277.474133706826,
+      277.5115808611078
+    ],
+    [
+      277.5066148485825,
+      277.52897125272955,
+      277.5449494202669,
+      277.4826654551469,
+      277.4525213117442,
+      277.4840979789957,
+      277.45501106460614,
+      277.73537263117913,
+      277.5244457164709,
+      277.42779549368663,
+      277.3950521561059,
+      277.5067785608455,
+      277.5787144269084,
+      277.4924147344725,
+      277.5705233961232,
+      277.5328212553832,
+      277.55636340021937,
+      277.5848228521997,
+      277.5136014947585,
+      277.42242438319505,
+      277.60353336939,
+      277.545507870329,
+      277.4911702902419,
+      277.6915537392648,
+      277.62780724444485,
+      277.5546002716169,
+      277.4576442509854,
+      277.68867114049385,
+      277.55300603326936,
+      277.6077152024672,
+      277.7079449149607,
+      277.5575759776086
+    ],
+    [
+      277.57192842306364,
+      277.54120534914404,
+      277.60233052960456,
+      277.60789465384596,
+      277.4229358931199,
+      277.4865834460798,
+      277.5674394187285,
+      277.5244457164709,
+      277.73537263117913,
+      277.50566722766,
+      277.44509878912766,
+      277.6009532885706,
+      277.6734034688352,
+      277.68647573107273,
+      277.54307723688623,
+      277.65956700679243,
+      277.5837761848878,
+      277.6746896593685,
+      277.5461166508097,
+      277.4525851379867,
+      277.58365704321574,
+      277.43614186443017,
+      277.5343565188284,
+      277.528622449813,
+      277.57568215043506,
+      277.53514986466644,
+      277.37711467240774,
+      277.53751163447924,
+      277.4835189464643,
+      277.52138924017396,
+      277.52728187281303,
+      277.46065083681503
+    ],
+    [
+      277.6533175164575,
+      277.6293474416823,
+      277.61077860274753,
+      277.6320603044252,
+      277.5870111173566,
+      277.6390075198529,
+      277.66983745690595,
+      277.42779549368663,
+      277.50566722766,
+      277.7353726254634,
+      277.67145617858546,
+      277.63620720740295,
+      277.5253029697028,
+      277.54202450394564,
+      277.5852499909994,
+      277.57753014877585,
+      277.6059462275056,
+      277.49470464763596,
+      277.6480164612341,
+      277.6623236650996,
+      277.5593129322958,
+      277.50557523932866,
+      277.66976192963335,
+      277.4646976164713,
+      277.53527345152884,
+      277.598299693747,
+      277.50951851096494,
+      277.47139168291056,
+      277.5572633458382,
+      277.5351769181549,
+      277.4506452570594,
+      277.52559416200506
+    ],
+    [
+      277.6030880169555,
+      277.600828562025,
+      277.56186522969847,
+      277.5694867690955,
+      277.61795706011543,
+      277.64039050551077,
+      277.6060306982601,
+      277.3950521561059,
+      277.44509878912766,
+      277.67145617858546,
+      277.73537263117913,
+      277.5787019383024,
+      277.4710760276832,
+      277.4791998099031,
+      277.5595886982467,
+      277.519073256799,
+      277.5643049094398,
+      277.4403431051342,
+      277.6130510818403,
+      277.70060837770654,
+      277.5218891139869,
+      277.51017767538815,
+      277.63421183676763,
+      277.43564252855276,
+      277.4999829716693,
+      277.5752281541715,
+      277.53863151091775,
+      277.4409578320549,
+      277.55250058092577,
+      277.51501069654176,
+      277.42022165531904,
+      277.5248749057824
+    ],
+    [
+      277.70312752570186,
+      277.65628865079753,
+      277.6956802331189,
+      277.70314846933144,
+      277.546496171818,
+      277.61272036220913,
+      277.68323626762543,
+      277.5067785608455,
+      277.6009532885706,
+      277.63620720740295,
+      277.5787019383024,
+      277.73537263117913,
+      277.6241274100757,
+      277.62847961276935,
+      277.63050560874814,
+      277.675709986186,
+      277.6754848499498,
+      277.5936647025325,
+      277.67046745337217,
+      277.58671291892034,
+      277.6336256174771,
+      277.5199087181629,
+      277.6658965388947,
+      277.5364011371358,
+      277.609697039591,
+      277.63340656940534,
+      277.4861857922086,
+      277.5446288673188,
+      277.5756683211121,
+      277.5840697847588,
+      277.52525486916653,
+      277.54474809096814
+    ],
+    [
+      277.6032863141427,
+      277.5862424418863,
+      277.6428816679303,
+      277.6153672048152,
+      277.4694163379982,
+      277.52908639944945,
+      277.57711435768977,
+      277.5787144269084,
+      277.6734034688352,
+      277.5253029697028,
+      277.4710760276832,
+      277.6241274100757,
+      277.73537263117913,
+      277.64902391858664,
+      277.59762465219177,
+      277.6770654423195,
+      277.6310884561096,
+      277.7045935474521,
+      277.58570789420395,
+      277.48519334663365,
+      277.64255260732153,
+      277.49554116019436,
+      277.56907363136537,
+      277.58848969013644,
+      277.6371804113119,
+      277.5872085449977,
+      277.4313980990226,
+      277.5975408053444,
+      277.54011750939895,
+      277.58187076672414,
+      277.5854200382947,
+      277.51954635169426
+    ],
+    [
+      277.5965662349211,
+      277.5562741191456,
+      277.6157293881639,
+      277.64502993364056,
+      277.440865711103,
+      277.506691883884,
+      277.6066629708338,
+      277.4924147344725,
+      277.68647573107273,
+      277.54202450394564,
+      277.4791998099031,
+      277.62847961276935,
+      277.64902391858664,
+      277.73537263117913,
+      277.5469526091829,
+      277.67486211703886,
+      277.5930882962495,
+      277.6356608819131,
+      277.5659710369015,
+      277.48197011953425,
+      277.57787000289863,
+      277.43467485614974,
+      277.55903470989404,
+      277.50429918958207,
+      277.5633450720418,
+      277.5427702664729,
+      277.3861911296898,
+      277.5134376680894,
+      277.4866318975023,
+      277.51491095783103,
+      277.4999117234087,
+      277.45988427606164
+    ],
+    [
+      277.6501574383007,
+      277.6911958225855,
+      277.663651489856,
+      277.5983259837194,
+      277.6013021023311,
+      277.64751756170915,
+      277.5905013188554,
+      277.5705233961232,
+      277.54307723688623,
+      277.5852499909994,
+      277.5595886982467,
+      277.63050560874814,
+      277.59762465219177,
+      277.5469526091829,
+      277.73537263117913,
+      277.60743506591234,
+      277.68762507922304,
+      277.57264069937037,
+      277.67207529948973,
+      277.5870353669895,
+      277.6858049152982,
+      277.62205875153325,
+      277.6508400904023,
+      277.6112833424161,
+      277.6712281747343,
+      277.71924555845686,
+      277.56883092537356,
+      277.61665399454836,
+      277.67491799672626,
+      277.68446238922877,
+      277.5959171883886,
+      277.64735036152683
+    ],
+    [
+      277.6476942897422,
+      277.6142201162946,
+      277.6750924161409,
+      277.6733525291251,
+      277.49672118869563,
+      277.56138898086436,
+      277.63402715162124,
+      277.5328212553832,
+      277.65956700679243,
+      277.57753014877585,
+      277.519073256799,
+      277.675709986186,
+      277.6770654423195,
+      277.67486211703886,
+      277.60743506591234,
+      277.73537263117913,
+      277.6532727549011,
+      277.64881347080575,
+      277.6211534065966,
+      277.5280944276469,
+      277.6359521847253,
+      277.4949977525964,
+      277.6101215615163,
+      277.5525312194418,
+      277.61849066991294,
+      277.60294301295795,
+      277.4455839958973,
+      277.5615844431697,
+      277.54708914685875,
+      277.57385824610407,
+      277.5453277127616,
+      277.5202395154829
+    ],
+    [
+      277.6853381728577,
+      277.69047644143546,
+      277.71139454240785,
+      277.64393912072774,
+      277.5730803660485,
+      277.6331444176253,
+      277.62902610846044,
+      277.55636340021937,
+      277.5837761848878,
+      277.6059462275056,
+      277.5643049094398,
+      277.6754848499498,
+      277.6310884561096,
+      277.5930882962495,
+      277.68762507922304,
+      277.6532727549011,
+      277.73537263117913,
+      277.6022143780915,
+      277.68620125561955,
+      277.5843054159508,
+      277.68812542955163,
+      277.57438949703516,
+      277.665370621391,
+      277.59072509894156,
+      277.66357403918477,
+      277.6850148457449,
+      277.5273218759057,
+      277.59823093985574,
+      277.6282827660678,
+      277.64387144213975,
+      277.577869459828,
+      277.5996584649268
+    ],
+    [
+      277.5725463555118,
+      277.55737240638575,
+      277.61251855709656,
+      277.58682738139044,
+      277.44181578985365,
+      277.5000358736715,
+      277.54773646839465,
+      277.5848228521997,
+      277.6746896593685,
+      277.49470464763596,
+      277.4403431051342,
+      277.5936647025325,
+      277.7045935474521,
+      277.6356608819131,
+      277.57264069937037,
+      277.64881347080575,
+      277.6022143780915,
+      277.73537263117913,
+      277.5557352115381,
+      277.4547856784249,
+      277.6202956890692,
+      277.4765886906126,
+      277.5386191273001,
+      277.58574779289165,
+      277.62046194728856,
+      277.56094228138704,
+      277.40781670969335,
+      277.5943119585788,
+      277.51754244769694,
+      277.5637549364324,
+      277.586056466544,
+      277.4996698021263
+    ],
+    [
+      277.70166018235653,
+      277.71483866607224,
+      277.6777227069082,
+      277.6415116745521,
+      277.61017147873537,
+      277.6755667681196,
+      277.64723851624103,
+      277.5136014947585,
+      277.5461166508097,
+      277.6480164612341,
+      277.6130510818403,
+      277.67046745337217,
+      277.58570789420395,
+      277.5659710369015,
+      277.67207529948973,
+      277.6211534065966,
+      277.68620125561955,
+      277.5557352115381,
+      277.73537263117913,
+      277.6332869794448,
+      277.6435641603294,
+      277.57614374331297,
+      277.7129234756288,
+      277.5516379433333,
+      277.620578466145,
+      277.68346109857094,
+      277.55073448969205,
+      277.55806839427424,
+      277.63199024307295,
+      277.6213465428125,
+      277.53724489492623,
+      277.59959650192025
+    ],
+    [
+      277.6154137986053,
+      277.62512249061336,
+      277.5775699342522,
+      277.57106170293343,
+      277.6509402622981,
+      277.67226407401677,
+      277.602424219131,
+      277.42242438319505,
+      277.4525851379867,
+      277.6623236650996,
+      277.70060837770654,
+      277.58671291892034,
+      277.48519334663365,
+      277.48197011953425,
+      277.5870353669895,
+      277.5280944276469,
+      277.5843054159508,
+      277.4547856784249,
+      277.6332869794448,
+      277.73537263117913,
+      277.54547390754584,
+      277.5447909174927,
+      277.65143619721545,
+      277.4640365721209,
+      277.52502881751207,
+      277.6030629828326,
+      277.57119886688486,
+      277.4688021658162,
+      277.585805727971,
+      277.5452924626357,
+      277.44826308085,
+      277.55899464356713
+    ],
+    [
+      277.6381635458298,
+      277.65566614322825,
+      277.6733012450114,
+      277.60487414972624,
+      277.5518277475976,
+      277.6019546455777,
+      277.5837225226264,
+      277.60353336939,
+      277.58365704321574,
+      277.5593129322958,
+      277.5218891139869,
+      277.6336256174771,
+      277.64255260732153,
+      277.57787000289863,
+      277.6858049152982,
+      277.6359521847253,
+      277.68812542955163,
+      277.6202956890692,
+      277.6435641603294,
+      277.54547390754584,
+      277.73537263117913,
+      277.5877577994878,
+      277.6213396572882,
+      277.6373865621532,
+      277.7107437327498,
+      277.67156677815444,
+      277.5228054335556,
+      277.6451683063571,
+      277.632446863575,
+      277.67211400640537,
+      277.6249767190219,
+      277.61211662116244
+    ],
+    [
+      277.5451330359733,
+      277.59560892629503,
+      277.55044985854187,
+      277.4878843521705,
+      277.6136743644495,
+      277.6000700753062,
+      277.48806386415396,
+      277.545507870329,
+      277.43614186443017,
+      277.50557523932866,
+      277.51017767538815,
+      277.5199087181629,
+      277.49554116019436,
+      277.43467485614974,
+      277.62205875153325,
+      277.4949977525964,
+      277.57438949703516,
+      277.4765886906126,
+      277.57614374331297,
+      277.5447909174927,
+      277.5877577994878,
+      277.73537263117913,
+      277.56285917571256,
+      277.5865699401868,
+      277.5913977407546,
+      277.62182440219897,
+      277.646541399913,
+      277.5846585610725,
+      277.6792341215518,
+      277.6481381751893,
+      277.5716626023523,
+      277.7100603444154
+    ],
+    [
+      277.69750148933156,
+      277.6949283906751,
+      277.66142025392344,
+      277.64203512995357,
+      277.6143261024674,
+      277.6803021492913,
+      277.6574473558055,
+      277.4911702902419,
+      277.5343565188284,
+      277.66976192963335,
+      277.63421183676763,
+      277.6658965388947,
+      277.56907363136537,
+      277.55903470989404,
+      277.6508400904023,
+      277.6101215615163,
+      277.665370621391,
+      277.5386191273001,
+      277.7129234756288,
+      277.65143619721545,
+      277.6213396572882,
+      277.56285917571256,
+      277.73537263117913,
+      277.52931588569294,
+      277.59818367254917,
+      277.66364674186525,
+      277.54768404902154,
+      277.5356822741293,
+      277.6175121160646,
+      277.60063935681876,
+      277.51485378259235,
+      277.58507306109203
+    ],
+    [
+      277.540772971048,
+      277.56835762336397,
+      277.5758269236295,
+      277.50939256576766,
+      277.4962829705933,
+      277.52628770177887,
+      277.4858628709398,
+      277.6915537392648,
+      277.528622449813,
+      277.4646976164713,
+      277.43564252855276,
+      277.5364011371358,
+      277.58848969013644,
+      277.50429918958207,
+      277.6112833424161,
+      277.5525312194418,
+      277.59072509894156,
+      277.58574779289165,
+      277.5516379433333,
+      277.4640365721209,
+      277.6373865621532,
+      277.5865699401868,
+      277.52931588569294,
+      277.73537263117913,
+      277.66186421268384,
+      277.5957007040319,
+      277.49971915072393,
+      277.72621993406773,
+      277.5967985129474,
+      277.65129395693236,
+      277.7189445871621,
+      277.6003155780303
+    ],
+    [
+      277.6135761180834,
+      277.6344499740066,
+      277.6492477667048,
+      277.58182519978135,
+      277.53903137352086,
+      277.5838081378482,
+      277.55932460185545,
+      277.62780724444485,
+      277.57568215043506,
+      277.53527345152884,
+      277.4999829716693,
+      277.609697039591,
+      277.6371804113119,
+      277.5633450720418,
+      277.6712281747343,
+      277.61849066991294,
+      277.66357403918477,
+      277.62046194728856,
+      277.620578466145,
+      277.52502881751207,
+      277.7107437327498,
+      277.5913977407546,
+      277.59818367254917,
+      277.66186421268384,
+      277.73537263117913,
+      277.65537836079363,
+      277.51866903379147,
+      277.6697605323291,
+      277.6284751005402,
+      277.6786141655923,
+      277.649596555998,
+      277.6140996422051
+    ],
+    [
+      277.6570373916554,
+      277.7037923512606,
+      277.66193784068935,
+      277.60132220812983,
+      277.6152160254442,
+      277.66360884523795,
+      277.59793096082484,
+      277.5546002716169,
+      277.53514986466644,
+      277.598299693747,
+      277.5752281541715,
+      277.63340656940534,
+      277.5872085449977,
+      277.5427702664729,
+      277.71924555845686,
+      277.60294301295795,
+      277.6850148457449,
+      277.56094228138704,
+      277.68346109857094,
+      277.6030629828326,
+      277.67156677815444,
+      277.62182440219897,
+      277.66364674186525,
+      277.5957007040319,
+      277.65537836079363,
+      277.73537263117913,
+      277.5770905566869,
+      277.6008579315926,
+      277.6773523536707,
+      277.6721772238332,
+      277.5801825123616,
+      277.646659774984
+    ],
+    [
+      277.51709620846736,
+      277.56434849858715,
+      277.5056346552213,
+      277.4570751848831,
+      277.6555966478744,
+      277.60099331265894,
+      277.4704440975691,
+      277.4576442509854,
+      277.37711467240774,
+      277.50951851096494,
+      277.53863151091775,
+      277.4861857922086,
+      277.4313980990226,
+      277.3861911296898,
+      277.56883092537356,
+      277.4455839958973,
+      277.5273218759057,
+      277.40781670969335,
+      277.55073448969205,
+      277.57119886688486,
+      277.5228054335556,
+      277.646541399913,
+      277.54768404902154,
+      277.49971915072393,
+      277.51866903379147,
+      277.5770905566869,
+      277.73537263117913,
+      277.4987940087497,
+      277.6252411269608,
+      277.5722741017723,
+      277.4842723269909,
+      277.6343082059112
+    ],
+    [
+      277.5482270551247,
+      277.57431016003335,
+      277.58394106094534,
+      277.5179308299253,
+      277.49842649127027,
+      277.53068106952094,
+      277.4938540799914,
+      277.68867114049385,
+      277.53751163447924,
+      277.47139168291056,
+      277.4409578320549,
+      277.5446288673188,
+      277.5975408053444,
+      277.5134376680894,
+      277.61665399454836,
+      277.5615844431697,
+      277.59823093985574,
+      277.5943119585788,
+      277.55806839427424,
+      277.4688021658162,
+      277.6451683063571,
+      277.5846585610725,
+      277.5356822741293,
+      277.72621993406773,
+      277.6697605323291,
+      277.6008579315926,
+      277.4987940087497,
+      277.73537263117913,
+      277.5983787291985,
+      277.6539613693171,
+      277.7145116684346,
+      277.599727919207
+    ],
+    [
+      277.6012439648274,
+      277.65167129714627,
+      277.60458910206995,
+      277.54374543845296,
+      277.6344119973091,
+      277.6469816597632,
+      277.5439125569218,
+      277.55300603326936,
+      277.4835189464643,
+      277.5572633458382,
+      277.55250058092577,
+      277.5756683211121,
+      277.54011750939895,
+      277.4866318975023,
+      277.67491799672626,
+      277.54708914685875,
+      277.6282827660678,
+      277.51754244769694,
+      277.63199024307295,
+      277.585805727971,
+      277.632446863575,
+      277.6792341215518,
+      277.6175121160646,
+      277.5967985129474,
+      277.6284751005402,
+      277.6773523536707,
+      277.6252411269608,
+      277.5983787291985,
+      277.73537263117913,
+      277.6787474251358,
+      277.5804129481284,
+      277.70286580073986
+    ],
+    [
+      277.60018454119677,
+      277.64103938876343,
+      277.6213312658598,
+      277.5524858283034,
+      277.579754680917,
+      277.60827033346806,
+      277.54069967700065,
+      277.6077152024672,
+      277.52138924017396,
+      277.5351769181549,
+      277.51501069654176,
+      277.5840697847588,
+      277.58187076672414,
+      277.51491095783103,
+      277.68446238922877,
+      277.57385824610407,
+      277.64387144213975,
+      277.5637549364324,
+      277.6213465428125,
+      277.5452924626357,
+      277.67211400640537,
+      277.6481381751893,
+      277.60063935681876,
+      277.65129395693236,
+      277.6786141655923,
+      277.6721772238332,
+      277.5722741017723,
+      277.6539613693171,
+      277.6787474251358,
+      277.73537263117913,
+      277.63490822628296,
+      277.67048316076034
+    ],
+    [
+      277.5278664190713,
+      277.5534663425554,
+      277.5643128324425,
+      277.499301513622,
+      277.47987194096504,
+      277.5103298756722,
+      277.474133706826,
+      277.7079449149607,
+      277.52728187281303,
+      277.4506452570594,
+      277.42022165531904,
+      277.52525486916653,
+      277.5854200382947,
+      277.4999117234087,
+      277.5959171883886,
+      277.5453277127616,
+      277.577869459828,
+      277.586056466544,
+      277.53724489492623,
+      277.44826308085,
+      277.6249767190219,
+      277.5716626023523,
+      277.51485378259235,
+      277.7189445871621,
+      277.649596555998,
+      277.5801825123616,
+      277.4842723269909,
+      277.7145116684346,
+      277.5804129481284,
+      277.63490822628296,
+      277.73537263117913,
+      277.5845730389323
+    ],
+    [
+      277.5693156573492,
+      277.61944854771497,
+      277.5757084326281,
+      277.51265306344294,
+      277.61938946623326,
+      277.6177266410997,
+      277.5115808611078,
+      277.5575759776086,
+      277.46065083681503,
+      277.52559416200506,
+      277.5248749057824,
+      277.54474809096814,
+      277.51954635169426,
+      277.45988427606164,
+      277.64735036152683,
+      277.5202395154829,
+      277.5996584649268,
+      277.4996698021263,
+      277.59959650192025,
+      277.55899464356713,
+      277.61211662116244,
+      277.7100603444154,
+      277.58507306109203,
+      277.6003155780303,
+      277.6140996422051,
+      277.646659774984,
+      277.6343082059112,
+      277.599727919207,
+      277.70286580073986,
+      277.67048316076034,
+      277.5845730389323,
+      277.73537263117913
+    ]
+  ],
+  "invK": [
+    [
+      34.16836736640087,
+      0.3769165889420147,
+      -4.605317351895734,
+      0.6876369310332905,
+      0.03959234403453284,
+      1.0916855155457053,
+      -3.129865261458831,
+      0.004591717766771723,
+      -0.005213668842559347,
+      -0.9545298354292049,
+      0.3448508334212382,
+      -12.360666375866483,
+      0.20535340391168902,
+      0.37826293600702704,
+      0.1193541749255853,
+      0.9951926045296986,
+      -2.407512435238127,
+      -0.00028422500804375765,
+      -9.246208777225636,
+      0.13812163170770345,
+      0.6511949167960995,
+      -0.005073291425750486,
+      -7.046221608251989,
+      -0.011444436910890053,
+      0.06383474806325089,
+      0.33761702763322254,
+      0.017172877845886288,
+      0.012174637563447556,
+      0.13282376096086085,
+      0.013780903133368112,
+      0.0005015892879026505,
+      -0.006816336112724005
+    ],
+    [
+      0.3769165888825261,
+      42.02222375255551,
+      0.19646308171430563,
+      0.07440713422601304,
+      0.121275352013681,
+      -4.000673605493213,
+      0.30346332497018513,
+      0.023413119999463508,
+      -0.003245847341445549,
+      0.3590875655429742,
+      0.08989518030954355,
+      0.2307478171758389,
+      0.12141529046049393,
+      0.000944309753363766,
+      -0.20221227894753524,
+      0.18033299082955057,
+      -4.882207702902492,
+      0.013384048665706352,
+      -22.22629763805963,
+      0.33447972744302795,
+      0.3267043488253857,
+      0.05130237501131356,
+      -0.39405764261642795,
+      0.020767881280920903,
+      0.20232738517121746,
+      -13.793645223331469,
+      0.06364543783915275,
+      0.023726863550364272,
+      -0.3716044318530504,
+      0.5882666040054819,
+      0.005646603055794991,
+      0.14305923147743982
+    ],
+    [
+      -4.6053173518671455,
+      0.19646308169541754,
+      35.295627992645684,
+      0.4493356582615334,
+      0.012341762399792178,
+      0.148925192430366,
+      1.0210212366240978,
+      0.06480449258798705,
+      0.3474404002249324,
+      0.29927041339711946,
+      0.030791855456904237,
+      -8.639579816392837,
+      -1.4088957891268497,
+      0.5595422609298183,
+      0.787065559724806,
+      -4.974048541467477,
+      -18.749724678885332,
+      0.24331069911083442,
+      -0.7373191895501878,
+      0.02484484917533712,
+      -2.075636763205094,
+      0.0201775838593343,
+      0.8061916242864775,
+      0.05240767223185616,
+      0.0029475739690710684,
+      0.45071660829690385,
+      0.01530321859162447,
+      0.018547854340380934,
+      0.040773324452418505,
+      0.296419124522337,
+      -0.0004644812494445749,
+      0.006624480621272222
+    ],
+    [
+      0.687636931025369,
+      0.07440713427665882,
+      0.4493356582697713,
+      26.441355864969385,
+      0.01779295061609543,
+      0.06809660943546998,
+      -10.505952376067201,
+      0.06578650732283997,
+      0.43629526033188637,
+      0.35030999847060085,
+      -0.10605783462298436,
+      -12.350740792267755,
+      0.6097487423604857,
+      -3.528885543272216,
+      0.014708095917192243,
+      -4.271695662011423,
+      0.36890206807760645,
+      0.15514682573476243,
+      0.20646787831621724,
+      0.1101477117353961,
+      0.15637537852713126,
+      0.029360474491744167,
+      0.3591677323330609,
+      0.004013557229178262,
+      0.06816771967324427,
+      0.018998920039738083,
+      0.03153438118662748,
+      0.019324653093922096,
+      0.0047408552750963125,
+      0.002044295532475155,
+      0.009799849307737194,
+      0.0038057238094052364
+    ],
+    [
+      0.039592344012565915,
+      0.1212753519940925,
+      0.012341762381709597,
+      0.017792950625147175,
+      14.560415327302403,
+      -5.296579449482943,
+      0.058971199630096297,
+      0.13536696801045203,
+      0.03228051181307671,
+      0.5908208120810068,
+      -0.6884504273239346,
+      0.016670859806334586,
+      -0.008272738028389631,
+      0.021506085901164047,
+      0.1522300095063843,
+      0.004741956551616222,
+      0.061801240260084815,
+      0.02758520131288391,
+      0.1749342748565268,
+      -3.711130017870059,
+      0.03313976020170302,
+      0.12215155374882206,
+      0.6351655943719245,
+      0.14621752119120904,
+      0.007180650677809233,
+      -0.22377170603200697,
+      -5.5989453564360385,
+      -0.03398601846570464,
+      -1.6940090109575012,
+      0.415132177765647,
+      0.03676137649118241,
+      -0.1688099989528341
+    ],
+    [
+      1.0916855155422067,
+      -4.00067360549702,
+      0.148925192401855,
+      0.06809660942560375,
+      -5.296579449471729,
+      20.859271168428368,
+      0.3683674103120812,
+      0.04596777151744645,
+      0.015152829320062726,
+      -0.42372250032743614,
+      0.9885819379018398,
+      0.058722767285757656,
+      -0.013480503292940971,
+      0.07421727148311424,
+      0.6526264267412408,
+      -0.014568043666306813,
+      0.8075951546033854,
+      -0.0011501260766127014,
+      -0.9683781648558092,
+      -5.480838876547201,
+      0.15490444946333823,
+      0.08541822259258294,
+      -5.382832198748312,
+      0.08588633577019829,
+      0.0401545576607434,
+      -2.4393855078305178,
+      0.45413477271400093,
+      -0.008420966947674134,
+      -2.4806952797402784,
+      0.3604924978926271,
+      0.016571277776087617,
+      0.13361678699561416
+    ],
+    [
+      -3.1298652614396505,
+      0.3034633249592609,
+      1.0210212366289588,
+      -10.505952376057225,
+      0.058971199632319164,
+      0.3683674103028291,
+      20.507892561141375,
+      0.06225746483935168,
+      -0.008948992243539415,
+      -6.7780144553598385,
+      -0.3966059767109308,
+      -2.1385399083577634,
+      0.19024864412246026,
+      -0.9825512571165248,
+      0.017081765362204654,
+      0.9780898650259615,
+      0.2660482089958286,
+      0.049326013188016715,
+      0.49179067022026185,
+      0.5060229221915616,
+      0.056916917702012265,
+      0.05530754534124176,
+      -1.2191629792764684,
+      0.020833102729940003,
+      0.029997885547245553,
+      0.06210303649127233,
+      0.043546027681172245,
+      0.004649604922745094,
+      0.027945740538493847,
+      0.01594888098231387,
+      0.013448372196508466,
+      0.008744615593354673
+    ],
+    [
+      0.004591717777310703,
+      0.023413120013374002,
+      0.0648044925937425,
+      0.06578650727777863,
+      0.13536696802377624,
+      0.04596777146972472,
+      0.062257464859351935,
+      19.277992626008377,
+      -0.4013507543853807,
+      0.05493875617417725,
+      0.1096392250681711,
+      0.01985305078217608,
+      0.1701406290638668,
+      0.07763603680298,
+      0.1468259204453356,
+      0.29359466332040407,
+      0.06889763493689487,
+      -2.2414609392060894,
+      0.008133245864371277,
+      0.018217761662589912,
+      0.1303537673831563,
+      -0.557125980711677,
+      -0.0008759569881204546,
+      0.8381235051578164,
+      -0.12957669234590904,
+      0.04229938370915875,
+      -0.18562251611480377,
+      -0.6932883977664829,
+      0.18437469062245881,
+      0.3621094876076435,
+      -18.038289418481014,
+      0.043490440289429895
+    ],
+    [
+      -0.005213668826684825,
+      -0.003245847319210029,
+      0.34744040022412737,
+      0.43629526033398913,
+      0.03228051178497655,
+      0.015152829351563729,
+      -0.008948992264277266,
+      -0.40135075439974577,
+      17.414860019822527,
+      -0.009408271534745353,
+      -0.004424568025466264,
+      0.22909574796184476,
+      -2.335349385345539,
+      -9.592139441460457,
+      -0.026593058642083122,
+      -0.9431989479362627,
+      0.0795070535264984,
+      -6.376743023534379,
+      -0.004402627274149256,
+      0.034733779804858,
+      0.32387465449947855,
+      0.027346183282596255,
+      0.02744785610242222,
+      -0.0004995018339669742,
+      0.37870357132574783,
+      0.0036798653272089956,
+      0.06624058587147169,
+      0.19771035790751118,
+      0.005434761754093427,
+      0.0007188644721115539,
+      0.08242217993113769,
+      0.009319495245193885
+    ],
+    [
+      -0.9545298354128624,
+      0.35908756557514676,
+      0.2992704133850858,
+      0.35030999848133365,
+      0.5908208120846286,
+      -0.423722500342284,
+      -6.778014455354232,
+      0.05493875619053009,
+      -0.009408271559183836,
+      17.236455525723585,
+      -6.287464323277687,
+      0.3059292314758668,
+      0.06323848292807378,
+      -0.21761540754665634,
+      0.023747777184394574,
+      0.20272523451794477,
+      0.1717426317927504,
+      0.03188312390799591,
+      0.6940540804079648,
+      -1.5470633915584302,
+      0.025149311907133962,
+      0.04584663043782622,
+      -4.696540630832852,
+      0.017807520218220733,
+      0.015347599992085471,
+      0.14273416803198338,
+      0.163835313313972,
+      -0.001386053413111053,
+      0.0932726081211609,
+      0.014892183532056355,
+      0.009392692662157675,
+      0.003469357986508271
+    ],
+    [
+      0.34485083341495504,
+      0.08989518024582036,
+      0.030791855411795226,
+      -0.10605783464791402,
+      -0.6884504273186347,
+      0.9885819379254374,
+      -0.3966059767054537,
+      0.10963922510922458,
+      -0.004424568018636035,
+      -6.287464323250516,
+      18.26479702013923,
+      0.2417400012207336,
+      0.059805634781097086,
+      -0.2831536185223515,
+      0.005924983983433139,
+      0.09368700447215449,
+      0.008800812421839305,
+      0.06481827474263414,
+      0.076267405254209,
+      -13.23007475545255,
+      0.022563132920083762,
+      0.14460487673947983,
+      0.5114051313154995,
+      0.023784282954111502,
+      0.01934779768532046,
+      0.09006778636704184,
+      -0.5119006355154253,
+      0.0019001369448871258,
+      0.21576699533793808,
+      0.014910403858656234,
+      0.012550307738398723,
+      0.07267860612478882
+    ],
+    [
+      -12.360666375875944,
+      0.23074781703893044,
+      -8.639579816351755,
+      -12.350740792276277,
+      0.016670859810002128,
+      0.05872276728523269,
+      -2.138539908310779,
+      0.019853050761798375,
+      0.2290957479650275,
+      0.30592923150964674,
+      0.24174000117999653,
+      34.659882957749105,
+      0.19367715135946523,
+      0.6814938653498842,
+      0.12946006946187616,
+      -3.5708677417897987,
+      0.817298470286308,
+      0.08241714912938787,
+      0.6826396902801083,
+      -0.010306265050097945,
+      0.30255514036250053,
+      -0.006369914573645478,
+      0.24554911747385555,
+      -0.008744785980831442,
+      0.05544546351079221,
+      0.0900871122833371,
+      0.00939785698423156,
+      0.018251914242192222,
+      0.007436887867468509,
+      0.007576995391593521,
+      -3.863087009346519e-05,
+      -0.0002606377658936053
+    ],
+    [
+      0.20535340400698246,
+      0.12141529051010744,
+      -1.408895789187373,
+      0.6097487423909829,
+      -0.00827273804459493,
+      -0.013480503242178565,
+      0.1902486441279014,
+      0.17014062908215075,
+      -2.335349385338484,
+      0.06323848293957647,
+      0.059805634762634195,
+      0.19367715127380447,
+      26.022887606862326,
+      0.14083388566758445,
+      0.3414711777794286,
+      -6.618551971964536,
+      -0.29680140738580996,
+      -14.292049954303511,
+      0.10749101997410151,
+      -0.018628398004746905,
+      -1.9319782851666178,
+      0.06401436127698606,
+      -0.026128517187635265,
+      0.2990128655169401,
+      -1.5096757390309046,
+      0.05150212006535014,
+      0.014410414455525785,
+      -0.5380577650896954,
+      -0.00037858625395821306,
+      0.3989348578820246,
+      -0.07469930652989322,
+      0.01832563469166148
+    ],
+    [
+      0.37826293601438843,
+      0.000944309734339746,
+      0.5595422609268715,
+      -3.5288855432710893,
+      0.021506085907398328,
+      0.07421727147579169,
+      -0.9825512570889713,
+      0.07763603682363299,
+      -9.59213944146413,
+      -0.21761540756102538,
+      -0.28315361852771137,
+      0.6814938653347548,
+      0.14083388569393468,
+      16.02836719812613,
+      -0.00746631178101655,
+      -5.118184660140621,
+      0.11632240693072177,
+      0.6152731812247386,
+      0.0011768973572306224,
+      0.13139028608120443,
+      0.23953831979422013,
+      0.06414039061224061,
+      0.23624739136528367,
+      0.005521800322764523,
+      0.15656947813161848,
+      0.008900487332928277,
+      0.06783571842638042,
+      0.0737203221342567,
+      0.006225862365485616,
+      0.0021394065220293945,
+      0.036290962144815954,
+      0.006616723308891282
+    ],
+    [
+      0.11935417490285281,
+      -0.2022122790127773,
+      0.7870655596835786,
+      0.014708095876531902,
+      0.1522300094890774,
+      0.6526264267717643,
+      0.017081765321906004,
+      0.14682592051092544,
+      -0.02659305869099218,
+      0.02374777723904361,
+      0.005924983979840055,
+      0.12946006960256254,
+      0.3414711777762512,
+      -0.007466311807339668,
+      44.34210594596317,
+      0.18248929715047604,
+      -4.850675546295601,
+      0.13529278531930708,
+      0.23377090866437542,
+      0.006614979123688654,
+      -5.867188914947581,
+      0.3816950518402252,
+      0.29499465524538243,
+      0.20883940096725725,
+      -0.7432671247847923,
+      -28.880882631854973,
+      0.13272777562203983,
+      0.2927744964750964,
+      -2.110425686342807,
+      -6.279990979406995,
+      0.06511705493957802,
+      0.3017388612954482
+    ],
+    [
+      0.9951926044747796,
+      0.18033299087506413,
+      -4.974048541457378,
+      -4.271695662022829,
+      0.004741956566025454,
+      -0.014568043685476885,
+      0.9780898649796199,
+      0.29359466327198686,
+      -0.9431989479486838,
+      0.20272523451405672,
+      0.09368700448523717,
+      -3.5708677416961523,
+      -6.618551972004098,
+      -5.118184660122086,
+      0.18248929711762057,
+      21.59991207837016,
+      0.1846009805203175,
+      1.0851659547481374,
+      0.21216594778415662,
+      -0.014792829410262375,
+      -0.8453570541289841,
+      0.004459050583378814,
+      0.09919456177591715,
+      -0.016388408531988388,
+      -0.015401128882121888,
+      0.07103356411044658,
+      0.0032406885510610356,
+      0.08449896751965863,
+      0.004265186182259236,
+      0.11812413081767544,
+      0.004686141467615122,
+      0.0004861183109466349
+    ],
+    [
+      -2.407512435254943,
+      -4.882207702849305,
+      -18.749724678902012,
+      0.3689020680887216,
+      0.06180124023644653,
+      0.8075951545622909,
+      0.26604820901855925,
+      0.06889763498347735,
+      0.07950705350970033,
+      0.17174263173902451,
+      0.008800812374618308,
+      0.8172984703242931,
+      -0.29680140750578865,
+      0.11632240694944604,
+      -4.850675546314799,
+      0.1846009805183182,
+      36.28679055975007,
+      0.12376778379516916,
+      -2.6866465294184456,
+      0.027213163113958747,
+      -7.235247173707308,
+      0.017243546774808514,
+      1.0894213946321862,
+      0.03438751653298458,
+      0.7260807548446818,
+      -1.6059993917628472,
+      0.015634173296684546,
+      0.1396626092259109,
+      0.7466186463055093,
+      0.5130582931892916,
+      0.009295253393507577,
+      0.034084533370994145
+    ],
+    [
+      -0.00028422508727561543,
+      0.013384048583546356,
+      0.2433106991512976,
+      0.1551468257177641,
+      0.02758520134803658,
+      -0.0011501261442221037,
+      0.0493260131925463,
+      -2.241460939205863,
+      -6.376743023529144,
+      0.03188312389333944,
+      0.06481827475785358,
+      0.08241714917162724,
+      -14.292049954291004,
+      0.6152731812315255,
+      0.1352927852378615,
+      1.0851659547267434,
+      0.12376778368018446,
+      20.90852234132254,
+      0.005392319251028009,
+      0.014747108065970509,
+      -0.015893092019559227,
+      0.11723036167642731,
+      0.0028342636515606237,
+      0.707097066310028,
+      -0.8997272589143047,
+      0.008463292123069474,
+      0.07947525705671532,
+      -0.9828654476343213,
+      0.00028683836599817315,
+      0.346686643236719,
+      -0.06546425780041046,
+      0.05799700958825402
+    ],
+    [
+      -9.246208777164599,
+      -22.226297638134678,
+      -0.7373191895198187,
+      0.20646787835093441,
+      0.1749342748259006,
+      -0.9683781648664624,
+      0.49179067021270834,
+      0.008133245854664854,
+      -0.00440262728174376,
+      0.6940540804540107,
+      0.07626740520701877,
+      0.682639690116894,
+      0.10749102010788186,
+      0.0011768973408689057,
+      0.23377090869753625,
+      0.2121659478410161,
+      -2.68664652945939,
+      0.005392319130397846,
+      49.553183732582816,
+      0.2860369800295627,
+      0.4207004471488332,
+      0.013940804873353068,
+      -18.498802600498568,
+      -0.002181991166470167,
+      0.05471199801934638,
+      0.8248884088918952,
+      0.025317672280002094,
+      0.008547672409093883,
+      0.19920442593218,
+      0.0745542321209647,
+      0.0017549964365529613,
+      0.01309880350006634
+    ],
+    [
+      0.13812163170818037,
+      0.3344797274989944,
+      0.024844849265701758,
+      0.11014771175040258,
+      -3.7111300178740256,
+      -5.480838876559093,
+      0.5060229221772513,
+      0.018217761591923558,
+      0.03473377980165436,
+      -1.5470633915909437,
+      -13.23007475543101,
+      -0.010306265059750755,
+      -0.018628398009758046,
+      0.13139028607711276,
+      0.006614979183770691,
+      -0.014792829407615326,
+      0.027213162974366524,
+      0.014747108073605398,
+      0.28603698001768063,
+      23.255211654269186,
+      -0.0007264100819065659,
+      0.13934619393951306,
+      -1.823252377324116,
+      -0.0005799141281443392,
+      0.002657407662486444,
+      0.32409164594333145,
+      0.008034076580326443,
+      0.0005418914986498662,
+      0.4178344521108715,
+      -0.01058529962659784,
+      0.0005412049825246421,
+      0.0670740425952909
+    ],
+    [
+      0.6511949168014316,
+      0.3267043488509933,
+      -2.075636763263619,
+      0.15637537849569788,
+      0.033139760203815496,
+      0.15490444947294127,
+      0.05691691773689672,
+      0.13035376738688853,
+      0.32387465455354025,
+      0.02514931191126595,
+      0.022563132944343024,
+      0.3025551403085861,
+      -1.9319782851377736,
+      0.2395383197560989,
+      -5.867188914818391,
+      -0.845357054069157,
+      -7.2352471735971084,
+      -0.015893092131090945,
+      0.4207004471077539,
+      -0.0007264101172120653,
+      33.09984308933997,
+      0.1531411990002841,
+      0.038096293818161056,
+      0.3326996177669332,
+      -19.01951529336146,
+      0.6891624662545361,
+      0.038830421788371774,
+      0.3646524799012439,
+      0.3639344262670217,
+      -1.1556155835757893,
+      0.023282088502525604,
+      0.19943337440260825
+    ],
+    [
+      -0.00507329139467485,
+      0.051302375049095954,
+      0.0201775838377023,
+      0.029360474494315725,
+      0.12215155375627935,
+      0.08541822261730583,
+      0.05530754533699817,
+      -0.5571259807536345,
+      0.02734618327929528,
+      0.0458466304407605,
+      0.14460487673280242,
+      -0.0063699145589103095,
+      0.06401436118657441,
+      0.06414039064578836,
+      0.38169505181627167,
+      0.004459050541776521,
+      0.017243546816554912,
+      0.11723036176163316,
+      0.013940804855817578,
+      0.13934619393483444,
+      0.1531411990018868,
+      23.649149141809346,
+      0.018928906518046573,
+      -1.1991641461834497,
+      0.24925657085899985,
+      0.24696935760729954,
+      -4.89214943879828,
+      0.4302723367529579,
+      0.4475677132610649,
+      -0.6348061383978036,
+      -0.28250173888839836,
+      -19.001224464232155
+    ],
+    [
+      -7.046221608286355,
+      -0.3940576425693805,
+      0.8061916242397077,
+      0.3591677323113675,
+      0.6351655943490786,
+      -5.382832198731615,
+      -1.2191629792826386,
+      -0.0008759569800568857,
+      0.027447856146643967,
+      -4.69654063084364,
+      0.5114051313644338,
+      0.24554911758161696,
+      -0.02612851715803858,
+      0.23624739136600748,
+      0.2949946552193057,
+      0.09919456171631737,
+      1.0894213947207156,
+      0.0028342635932676625,
+      -18.49880260057833,
+      -1.8232523773607492,
+      0.03809629376451707,
+      0.018928906572325654,
+      34.03261959147859,
+      -0.0006062962747811488,
+      0.004725188135633432,
+      0.323889196705871,
+      0.16595489045152867,
+      0.001669626162299152,
+      0.15920085952841684,
+      0.014718208226459284,
+      -0.001030947744084312,
+      0.02184332313983005
+    ],
+    [
+      -0.01144443692084046,
+      0.020767881159037226,
+      0.05240767221686132,
+      0.004013557246328274,
+      0.14621752127555648,
+      0.0858863356418859,
+      0.020833102684399654,
+      0.838123505262838,
+      -0.0004995017023341203,
+      0.0178075201596911,
+      0.023784282894333857,
+      -0.008744786074781267,
+      0.29901286562518153,
+      0.005521800161089416,
+      0.2088394009510694,
+      -0.01638840828180482,
+      0.03438751621672467,
+      0.7070970661100584,
+      -0.00218199097042177,
+      -0.0005799140745602877,
+      0.3326996184358932,
+      -1.1991641461279432,
+      -0.0006062960827628429,
+      74.20879508967647,
+      0.41605115845060087,
+      0.1274712913064976,
+      -0.1329221128116405,
+      -48.35070002738685,
+      0.3846338550374649,
+      -2.788803279723697,
+      -24.852219109708102,
+      -0.5698956684628049
+    ],
+    [
+      0.06383474805829442,
+      0.20232738516833773,
+      0.0029475740773615812,
+      0.06816771968325215,
+      0.007180650647697161,
+      0.04015455764881519,
+      0.029997885541142504,
+      -0.12957669237364672,
+      0.3787035712959988,
+      0.015347599976252266,
+      0.019347797669084423,
+      0.05544546352214508,
+      -1.5096757390390652,
+      0.156569478156593,
+      -0.7432671248855973,
+      -0.015401128916567452,
+      0.7260807546945043,
+      -0.8997272588534819,
+      0.05471199806364673,
+      0.002657407706141641,
+      -19.019515293330368,
+      0.2492565708461346,
+      0.004725188086023341,
+      0.41605115898242956,
+      29.81119860033506,
+      0.4640933360053847,
+      0.09909576503996405,
+      -6.563245051059285,
+      0.35120747108649036,
+      -4.927466336844037,
+      0.33777807979049185,
+      0.25078337065423584
+    ],
+    [
+      0.33761702768054475,
+      -13.793645223284148,
+      0.45071660835137123,
+      0.018998920133521818,
+      -0.22377170600521593,
+      -2.4393855078507665,
+      0.062103036491938324,
+      0.042299383643915466,
+      0.0036798653947254564,
+      0.14273416801212774,
+      0.09006778635003376,
+      0.09008711208862624,
+      0.051502120090863725,
+      0.00890048734289466,
+      -28.88088263190829,
+      0.07103356408347081,
+      -1.6059993918004043,
+      0.008463292009571752,
+      0.824888408891125,
+      0.32409164598565415,
+      0.6891624664240007,
+      0.2469693576186818,
+      0.3238891967192276,
+      0.12747129133613036,
+      0.4640933358737489,
+      46.81546069031178,
+      0.11106089947438239,
+      0.07363716309347781,
+      -4.8608005010714175,
+      -0.01926736644754598,
+      0.0075541306212432,
+      0.43719222800736246
+    ],
+    [
+      0.01717287785707872,
+      0.06364543784011613,
+      0.01530321859863732,
+      0.031534381189169874,
+      -5.598945356430825,
+      0.45413477271316177,
+      0.04354602767888284,
+      -0.18562251610008873,
+      0.06624058585905056,
+      0.16383531331968998,
+      -0.5119006354970054,
+      0.009397856979257475,
+      0.014410414454644188,
+      0.06783571841830846,
+      0.13272777560570495,
+      0.003240688560320262,
+      0.015634173286956755,
+      0.07947525707535236,
+      0.02531767226400688,
+      0.008034076561510896,
+      0.03883042182010318,
+      -4.892149438783021,
+      0.16595489044551412,
+      -0.1329221127786722,
+      0.09909576498689081,
+      0.11106089949705442,
+      9.57466928185595,
+      0.1739586003537069,
+      -0.46032661610778736,
+      0.43269245287156854,
+      -0.06046331489507645,
+      0.035704946475937915
+    ],
+    [
+      0.012174637632649362,
+      0.023726863615537008,
+      0.01854785426177614,
+      0.0193246530890013,
+      -0.03398601853126324,
+      -0.008420966883234375,
+      0.0046496049552806114,
+      -0.6932883978860346,
+      0.1977103577566982,
+      -0.0013860533877801929,
+      0.0019001368849704797,
+      0.018251914298031236,
+      -0.5380577650886409,
+      0.07372032229755031,
+      0.2927744963360971,
+      0.0844989673484082,
+      0.13966260960106378,
+      -0.982865447551755,
+      0.008547672243587613,
+      0.0005418916337245036,
+      0.3646524792838861,
+      0.43027233675541104,
+      0.001669625948754526,
+      -48.35070002755681,
+      -6.563245050515709,
+      0.0736371632370579,
+      0.17395860035775337,
+      63.82011216996837,
+      0.095481858222061,
+      -1.5794706040566013,
+      -7.175379573995493,
+      0.07065620426730754
+    ],
+    [
+      0.1328237609991423,
+      -0.37160443190048575,
+      0.04077332443527903,
+      0.004740855245851422,
+      -1.6940090109869217,
+      -2.4806952796972777,
+      0.02794574053885174,
+      0.18437469060472442,
+      0.005434761737717588,
+      0.0932726081008556,
+      0.21576699533207802,
+      0.007436887917180503,
+      -0.00037858627463522324,
+      0.00622586236426647,
+      -2.110425686470626,
+      0.004265186208461054,
+      0.7466186462827918,
+      0.0002868383923723862,
+      0.1992044259579776,
+      0.417834452149771,
+      0.36393442628073114,
+      0.44756771324605604,
+      0.15920085943908552,
+      0.38463385501905195,
+      0.35120747112603856,
+      -4.860800500921872,
+      -0.4603266160980839,
+      0.09548185817141436,
+      25.962955983462397,
+      -4.173843831712814,
+      0.0644521750536219,
+      -13.76465499633967
+    ],
+    [
+      0.01378090310529414,
+      0.5882666040296382,
+      0.29641912449401714,
+      0.0020442955281089366,
+      0.41513217780825884,
+      0.3604924978751366,
+      0.015948880981553316,
+      0.362109487603198,
+      0.0007188644987193126,
+      0.01489218356188006,
+      0.014910403874695612,
+      0.007576995418036969,
+      0.3989348578520237,
+      0.0021394065001170163,
+      -6.279990979314435,
+      0.11812413078419806,
+      0.5130582932173582,
+      0.34668664327291193,
+      0.07455423212351728,
+      -0.010585299673822816,
+      -1.1556155835036803,
+      -0.6348061383771417,
+      0.014718208249067487,
+      -2.7888032796828055,
+      -4.927466336939254,
+      -0.019267366567050602,
+      0.43269245284048946,
+      -1.579470604056403,
+      -4.173843831693329,
+      21.012693663987786,
+      0.3902871945370184,
+      -3.8263769187850905
+    ],
+    [
+      0.0005015892314036279,
+      0.005646603091608314,
+      -0.0004644811972489109,
+      0.009799849344997785,
+      0.0367613764585554,
+      0.016571277899357802,
+      0.013448372185395869,
+      -18.038289418462206,
+      0.08242217992019862,
+      0.009392692703582629,
+      0.012550307895480114,
+      -3.863084670675148e-05,
+      -0.07469930660567357,
+      0.036290962178077965,
+      0.0651170551706695,
+      0.00468614133902637,
+      0.009295253440396107,
+      -0.06546425769710407,
+      0.0017549963890393149,
+      0.000541204733353655,
+      0.02328208839343388,
+      -0.282501738971784,
+      -0.0010309477283296387,
+      -24.852219109504954,
+      0.3377780798080446,
+      0.007554130425234687,
+      -0.06046331485690194,
+      -7.175379574226507,
+      0.06445217499020715,
+      0.3902871945544694,
+      49.456444958948744,
+      -0.03400718664131071
+    ],
+    [
+      -0.006816336153596065,
+      0.14305923147834107,
+      0.0066244806696647745,
+      0.003805723821836318,
+      -0.16880999896668966,
+      0.13361678695194235,
+      0.008744615608113846,
+      0.04349044034131767,
+      0.009319495247191766,
+      0.0034693579819663105,
+      0.07267860610763532,
+      -0.00026063783631040605,
+      0.018325634807002087,
+      0.00661672329831108,
+      0.30173886136831995,
+      0.00048611835160430693,
+      0.0340845333455258,
+      0.05799700945532136,
+      0.013098803477862025,
+      0.06707404262051704,
+      0.19943337431592298,
+      -19.001224464253063,
+      0.021843323243795777,
+      -0.5698956684772086,
+      0.25078337069819295,
+      0.43719222796576174,
+      0.035704946501957754,
+      0.07065620435610567,
+      -13.764654996363966,
+      -3.826376918763405,
+      -0.034007186740623765,
+      35.432049373405924
+    ]
+  ],
+  "meanfunction": -2.7037899129865552,
+  "matern": 1,
+  "sf2": 277.73537263117913,
+  "ell": [
+    945.7740420992449,
+    1112.40957359551
+  ],
+  "problemLowerBound": [
+    0.018789800436355142,
+    0.06022547162926983
+  ],
+  "problemUpperBound": [
+    0.9883738380592262,
+    0.9446689170495839
+  ],
+  "stdOfOutput": 0.28105279548681705,
+  "meanOfOutput": 0.7599077134539292
+}
\ No newline at end of file
diff --git a/examples/09_MultifidelityGaussianProcess/modelData/rho.json b/examples/09_MultifidelityGaussianProcess/modelData/rho.json
new file mode 100644
index 0000000000000000000000000000000000000000..daef59944952316850beb1a8b05ed8668d6b6360
--- /dev/null
+++ b/examples/09_MultifidelityGaussianProcess/modelData/rho.json
@@ -0,0 +1,3 @@
+{
+  "rho": 1.1000004380679567
+}
\ No newline at end of file
diff --git a/examples/09_MultifidelityGaussianProcess/multifidelityGP.py b/examples/09_MultifidelityGaussianProcess/multifidelityGP.py
new file mode 100644
index 0000000000000000000000000000000000000000..680cfbe6fe1b342731327937b262e57a35921407
--- /dev/null
+++ b/examples/09_MultifidelityGaussianProcess/multifidelityGP.py
@@ -0,0 +1,41 @@
+from pathlib import Path
+
+from maingopy import *
+from maingopy.melonpy import *
+
+folderpath = Path(__file__).parent.resolve() / "modelData"
+
+
+#%% Define model
+
+class Model(MAiNGOmodel):
+
+    def get_variables(self):
+        return [OptimizationVariable(Bounds(0.0, 1.0), VT_CONTINUOUS, "x"),
+                OptimizationVariable(Bounds(0.0, 1.0), VT_CONTINUOUS, "y")]
+
+    def evaluate(self,vars):
+        
+        mf_gp = MulfilGp(folderpath.as_posix())
+        
+        mean_low = mf_gp.calculate_low_prediction_reduced_space(vars)
+        std_low = sqrt(mf_gp.calculate_low_variance_reduced_space(vars))
+        mean_high = mf_gp.calculate_high_prediction_reduced_space(vars)
+        std_high = sqrt(mf_gp.calculate_high_variance_reduced_space(vars))
+
+        result = EvaluationContainer()
+        result.objective = mean_high
+        
+        result.output = [OutputVariable("mean_low", mean_low),
+                         OutputVariable("std_low", std_low),
+                         OutputVariable("mean_high", mean_high),
+                         OutputVariable("std_high", std_high)]
+                         
+        return result
+    
+    
+#%% Solve optimization problem
+
+myModel = Model()
+myMAiNGO = MAiNGO(myModel)
+myMAiNGO.solve()
diff --git a/examples/09_MultifidelityGaussianProcess/problemMulfilGpReducedSpace.h b/examples/09_MultifidelityGaussianProcess/problemMulfilGpReducedSpace.h
new file mode 100644
index 0000000000000000000000000000000000000000..47a8985313b1d8e90b94871ffbd0bb31f542c71f
--- /dev/null
+++ b/examples/09_MultifidelityGaussianProcess/problemMulfilGpReducedSpace.h
@@ -0,0 +1,93 @@
+/**********************************************************************************
+ * Copyright (c) 2019 Process Systems Engineering (AVT.SVT), RWTH Aachen University
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ **********************************************************************************/
+
+#pragma once
+
+#include "MAiNGOmodel.h"
+#include "mulfilGp.h"
+
+
+/**
+* @class Model
+* @brief Class defining the actual model implemented by the user
+*
+* This class is used by the user to implement the model
+*/
+class Model: public maingo::MAiNGOmodel {
+
+  public:
+    Model();
+
+    maingo::EvaluationContainer evaluate(const std::vector<Var> &optVars);
+    std::vector<maingo::OptimizationVariable> get_variables();
+    std::vector<double> get_initial_point();
+
+  private:
+    melon::MulfilGp<Var> _mulfilGp;
+};
+
+
+//////////////////////////////////////////////////////////////////////////
+// function for providing optimization variable data to the Branch-and-Bound solver
+std::vector<maingo::OptimizationVariable>
+Model::get_variables()
+{
+    std::vector<maingo::OptimizationVariable> variables;
+
+    variables.push_back(maingo::OptimizationVariable(maingo::Bounds(0.0, 1.0), maingo::VT_CONTINUOUS, "x"));
+    variables.push_back(maingo::OptimizationVariable(maingo::Bounds(0.0, 1.0), maingo::VT_CONTINUOUS, "y"));
+
+    return variables;
+}
+
+
+//////////////////////////////////////////////////////////////////////////
+// function for providing initial point data to the Branch-and-Bound solver
+std::vector<double>
+Model::get_initial_point()
+{
+    std::vector<double> initialPoint;
+    return initialPoint;
+}
+
+
+Model::Model()
+{
+
+    // load GP from file
+    const std::string folderPath = "modelData"; // Define a folder path where the multifidelity GP data is stored.
+    _mulfilGp.load_model(folderPath, "", melon::MODEL_FILE_TYPE::JSON);
+}
+
+//////////////////////////////////////////////////////////////////////////
+// function for constructing the optimization problem and defining outputs
+maingo::EvaluationContainer
+Model::evaluate(const std::vector<Var> &optVars)
+{
+    std::vector<Var> X = optVars;
+
+    Var meanLow, stdLow, meanHigh, stdHigh;
+    meanLow = _mulfilGp.calculate_low_prediction_reduced_space(X);
+    stdLow   = sqrt(_mulfilGp.calculate_low_variance_reduced_space(X));
+    meanHigh = _mulfilGp.calculate_high_prediction_reduced_space(X);
+    stdHigh  = sqrt(_mulfilGp.calculate_high_variance_reduced_space(X));
+    
+    maingo::EvaluationContainer result;
+
+    result.objective = meanHigh;
+
+    result.output.push_back(maingo::OutputVariable("meanLow: ", meanLow));
+    result.output.push_back(maingo::OutputVariable("stdLow: ", stdLow));
+    result.output.push_back(maingo::OutputVariable("meanHigh: ", meanHigh));
+    result.output.push_back(maingo::OutputVariable("stdHigh: ", stdHigh));
+
+    return result;
+}
\ No newline at end of file
diff --git a/examples/MAiNGOSettings.txt b/examples/MAiNGOSettings.txt
index 0310c93cd8c2547bf257b8d1c2bfc9dc9fbda55c..bc15d1bf9e257bf5ba5f2e77a62629ff42a7923b 100644
--- a/examples/MAiNGOSettings.txt
+++ b/examples/MAiNGOSettings.txt
@@ -228,7 +228,7 @@
 #size of new dataset to be added when augmenting relative to number of points of the full dataset    (default: 0.25)
 #growing_augmentPercentage              0.25
 
-#rule when to augment the dataset: AUG_RULE_CONST = 0, AUG_RULE_SCALING = 1, AUG_RULE_VALID = 2, AUG_RULE_COMBI = 3, AUG_RULE_TOL = 4, AUG_RULE_SCALCST = 5, AUG_RULE_VALCST = 6, AUG_RULE_COMBICST = 7, AUG_RULE_TOLCST = 8    (default: 8)
+#rule when to augment the dataset: AUG_RULE_CONST = 0, AUG_RULE_SCALING = 1, AUG_RULE_OOS = 2, AUG_RULE_COMBI = 3, AUG_RULE_TOL = 4, AUG_RULE_SCALCST = 5, AUG_RULE_OOSCST = 6, AUG_RULE_COMBICST = 7, AUG_RULE_TOLCST = 8    (default: 8)
 #when using GROW_APPR_MSEHEURISTIC rules including SCAL(ING) cannot be used
 #growing_augmentRule                    8
 
diff --git a/examples/mainCppApi.cpp b/examples/mainCppApi.cpp
index b0c556ca27c1ffb67cf4d361b2aa925f1a1a6c63..dc6464161e27b3e5e75749b80096e70a50ce5371 100644
--- a/examples/mainCppApi.cpp
+++ b/examples/mainCppApi.cpp
@@ -34,6 +34,8 @@
 // #include "06_BayesianOptimization/problemBayesianOptimizationReducedSpace.h"
 // #include "06_BayesianOptimization/problemBayesianOptimizationFullspace.h"
 
+// #include "09_MultifidelityGaussianProcess/problemMulfilGpReducedSpace.h"
+
 /**
  * The following example requires that the CMake flag MAiNGO_use_growing_datasets is set to true.
  */
diff --git a/inc/TwoStageModel.h b/inc/TwoStageModel.h
index cac235e2bc9cb0dadefbb17ed584072b7cd2fb6d..9caaa132e3efa9398e750558f5b6356ae080029f 100644
--- a/inc/TwoStageModel.h
+++ b/inc/TwoStageModel.h
@@ -239,7 +239,7 @@ class TwoStageModel: public MAiNGOmodel {
         result.eqRelaxationOnly.push_back(lhs.first, lhs.second);
       }
 
-      for (auto s = 0; s < Ns; s++) {
+      for (unsigned int s = 0; s < Ns; s++) {
         auto s_string = std::to_string(s + 1);
 
         const auto &result_s = evaluate(optVars, s);
diff --git a/inc/bab.h b/inc/bab.h
index 8e88b1b1cab535db205fac55dfc3c67cea3d2df9..b7567f81d764a6f961a4d206656ba9118c7d43b9 100644
--- a/inc/bab.h
+++ b/inc/bab.h
@@ -286,65 +286,65 @@ class BranchAndBound : public babBase::FathomObserver {
 
 #ifdef HAVE_GROWING_DATASETS
     /**
-        * @brief Auxiliary function for calling augmentation rule CONST
-        *
-        * @param[in] depth is the depth of the node calling the augmentation rule
-        * @param[out] boolean indicating whether to augment (true) or branch (false)
-        */
+    * @brief Auxiliary function for calling augmentation rule CONST
+    *
+    * @param[in] depth is the depth of the node calling the augmentation rule
+    * @param[out] boolean indicating whether to augment (true) or branch (false)
+    */
     bool _call_augmentation_rule_const(const int depth);
 
     /**
-        * @brief Auxiliary function for calling augmentation rule SCALING
-        *
-        * @param[in] indexDataset is the index of the the dataset of the node calling the augmentation rule
-        * @param[in] currentLBD is the current lower bound used for pruning
-        * @param[out] boolean indicating whether to augment (true) or branch (false)
-        */
+    * @brief Auxiliary function for calling augmentation rule SCALING
+    *
+    * @param[in] indexDataset is the index of the the dataset of the node calling the augmentation rule
+    * @param[in] currentLBD is the current lower bound used for pruning
+    * @param[out] boolean indicating whether to augment (true) or branch (false)
+    */
     bool _call_augmentation_rule_scaling(const int indexDataset, const double currentLBD);
 
     /**
-        * @brief Function for evaluating solution point of lower bounding problem with validation set
-        *
-        * @param[in] currentNode is the node to be processed
-        * @param[in] lbpSolutionPoint is the solution point of the LBP of the current node
-        * @param[in] currentLBD is the objective value of the LBP of the current node
-        */
+    * @brief Function for evaluating solution point of lower bounding problem with validation set, i.e., out-of-sample evaluation
+    *
+    * @param[in] currentNode is the node to be processed
+    * @param[in] lbpSolutionPoint is the solution point of the LBP of the current node
+    * @param[in] currentLBD is the objective value of the LBP of the current node
+    */
     double _evaluate_lower_bound_for_validation_set(const babBase::BabNode& currentNode, const std::vector<double>& lbpSolutionPoint, const double currentLBD);
 
     /**
-        * @brief Function for calculating approximated lower bound as combination of reduced and validated lower bound
-        *
-        * @param[in] currentLBD is the objective value of the LBP of the current node
-        * @param[in] validatedLBD is the evaluation of the LBP with the validation dataset at the optimal lower bounding point
-        * @param[in] indexDataset is the index of the dataset of the current node
-        */
-    double _calculate_combined_lower_bound(const double currentLBD, const double validatedLBD, const unsigned int indexDataset);
+    * @brief Function for calculating approximated lower bound as combination of reduced and out-of-sample lower bound
+    *
+    * @param[in] currentLBD is the objective value of the LBP of the current node
+    * @param[in] oosLBD is the out-of-sample evaluation of the LBP with the validation dataset at the optimal lower bounding point
+    * @param[in] indexDataset is the index of the dataset of the current node
+    */
+    double _calculate_combined_lower_bound(const double currentLBD, const double oosLBD, const unsigned int indexDataset);
 
     /**
-        * @brief Auxiliary function for calling augmentation rule VALID
-        *
-        * @param[in] validatedLBD is the evaluation of the LBP with the validation dataset at the optimal lower bounding point
-        * @param[out] boolean indicating whether to augment (true) or branch (false)
-        */
-    bool _call_augmentation_rule_valid(const double validatedLBD);
+    * @brief Auxiliary function for calling augmentation rule OOS
+    *
+    * @param[in] oosLBD is the out-of-sample evaluation of the LBP with the validation dataset at the optimal lower bounding point
+    * @param[out] boolean indicating whether to augment (true) or branch (false)
+    */
+    bool _call_augmentation_rule_oos(const double oosLBD);
 
     /**
-        * @brief Auxiliary function for calling augmentation rule COMBI
-        *
-        * @param[in] currentLBD is the objective value of the LBP of the current node
-        * @param[in] validatedLBD is the evaluation of the LBP with the validation dataset at the optimal lower bounding point
-        * @param[in] indexDataset is the index of the dataset of the current node
-        */
-    bool _call_augmentation_rule_combi(const double currentLBD, const double validatedLBD, const unsigned int indexDataset);
+    * @brief Auxiliary function for calling augmentation rule COMBI
+    *
+    * @param[in] currentLBD is the objective value of the LBP of the current node
+    * @param[in] oosLBD is the out-of-sample evaluation of the LBP with the validation dataset at the optimal lower bounding point
+    * @param[in] indexDataset is the index of the dataset of the current node
+    */
+    bool _call_augmentation_rule_combi(const double currentLBD, const double LBD, const unsigned int indexDataset);
 
     /**
-        * @brief Auxiliary function for calling augmentation rule TOL
-        *
-        * @param[in] currentLBD is the objective value of the LBP of the current node
-        * @param[in] validatedLBD is the evaluation of the LBP with the validation dataset at the optimal lower bounding point
-        * @param[in] indexDataset is the index of the dataset of the current node
-        */
-    bool _call_augmentation_rule_tol(const double currentLBD, const double validatedLBD, const unsigned int indexDataset);
+    * @brief Auxiliary function for calling augmentation rule TOL
+    *
+    * @param[in] currentLBD is the objective value of the LBP of the current node
+    * @param[in] oosLBD is the out-of-sample evaluation of the LBP with the validation dataset at the optimal lower bounding point
+    * @param[in] indexDataset is the index of the dataset of the current node
+    */
+    bool _call_augmentation_rule_tol(const double currentLBD, const double oosLBD, const unsigned int indexDataset);
 
     /**
     * @brief Function which checks whether to augment the dataset
@@ -352,9 +352,9 @@ class BranchAndBound : public babBase::FathomObserver {
     * @param[in] currentNode is the node to be processed
     * @param[in] lbpSolutionPoint is the solution point of the LBP of the current node
     * @param[in] currentLBD is the objective value of the LBP of the current node
-    * @param[in] validatedLBD is the evaluation of the LBP with the validation dataset at the optimal lower bounding point
+    * @param[in] oosLBD is the out-of-sample evaluation of the LBP with the validation dataset at the optimal lower bounding point
     */
-    bool _check_whether_to_augment(const babBase::BabNode &currentNode, const std::vector<double> &lbpSolutionPoint, const double currentLBD, const double validatedLBD);
+    bool _check_whether_to_augment(const babBase::BabNode &currentNode, const std::vector<double> &lbpSolutionPoint, const double currentLBD, const double oosLBD);
 
     /**
      * @brief Function for augmenting dataset of node
@@ -399,7 +399,7 @@ class BranchAndBound : public babBase::FathomObserver {
 	 * @param[in] currentNodeLbdFull is the lower bound calculated based on the full dataset in the current node
 	 * @param[in] currentNodeUbdFull is the upper bound of the current node
 	 * @param[in] lbpSolutionPoint is the solution point of the lower bound calculated und used in the current node
-	 * @param[in] lbpSolutionPointFullis the solution point of the lower bound calculated based on the full dataset in the current node
+	 * @param[in] lbpSolutionPointFull is the solution point of the lower bound calculated based on the full dataset in the current node
 	 */
     void _log_nodes(const babBase::BabNode &currentNode, const double currentNodeLbd, const double currentNodeLbdFull, const double currentNodeUbdFull, const std::vector<double> lbpSolutionPoint, const std::vector<double> lbpSolutionPointFull);
 #endif
@@ -579,7 +579,7 @@ class BranchAndBound : public babBase::FathomObserver {
     std::shared_ptr<lbp::LowerBoundingSolver> _LBSFull; /*!< pointer to lower bounding solver using the full dataset only */
     double _currentLBDFull;                         /*!< lower bound of the current node when using the full dataset */
     std::vector<double> _lbpSolutionPointFull;      /*!< solution point of the LBP in the current node when using the full dataset */
-    double _currentLBDValid;                        /*!< lower bound of the current node when using the evaluation called for augmentation rule VALID */
+    double _currentLBDValid;                        /*!< lower bound of the current node when using the evaluation called for augmentation rule OOS */
 #endif
 
     std::shared_ptr<Settings> _maingoSettings; /*!< pointer to object storing settings */
diff --git a/inc/settings.h b/inc/settings.h
index 77d9b0eb136e788b42a268bd15e2379b3df36608..c21e6eeecd53546b2126277a604df82ff84b3065 100644
--- a/inc/settings.h
+++ b/inc/settings.h
@@ -140,11 +140,11 @@ enum WRITING_LANGUAGE {
 enum AUGMENTATION_RULE {
     AUG_RULE_CONST = 0,    //!< (=0): Augment every growing_augmentFreq by growing_augmentPercentage data points
     AUG_RULE_SCALING,      //!< (=1): Augment if linear scaling of reduced LB to full LB suggests pruning
-    AUG_RULE_VALID,        //!< (=2): Augment if UB is smaller than validated LB
-    AUG_RULE_COMBI,        //!< (=3): Augment if UB is smaller than approximated LB which is a combination of reduced and validated LB
+    AUG_RULE_OOS,          //!< (=2): Augment if UB is smaller than out-of-sample LB
+    AUG_RULE_COMBI,        //!< (=3): Augment if UB is smaller than approximated LB which is a combination of reduced and out-of-sample LB
     AUG_RULE_TOL,          //!< (=4): Augment if UB is within tolerance of the lower bound used for pruning. Currently the same value is used for the absolute and relative tolerance
     AUG_RULE_SCALCST,      //!< (=5): Augment if SCALING or CONST is triggered
-    AUG_RULE_VALCST,       //!< (=6): Augment if VALID or CONST is triggered
+    AUG_RULE_OOSCST,       //!< (=6): Augment if OOS or CONST is triggered
     AUG_RULE_COMBICST,     //!< (=7): Augment if COMBI or CONST is triggered
     AUG_RULE_TOLCST        //!< (=8): Augment if TOL or CONST is triggered
 };
diff --git a/maingopy/_maingopy.cpp b/maingopy/_maingopy.cpp
index b624d84716d17e52151e314b7ba9eb9368e41630..1616799d9347f9071609e64e0f87c81c17c3ed4e 100644
--- a/maingopy/_maingopy.cpp
+++ b/maingopy/_maingopy.cpp
@@ -283,11 +283,11 @@ PYBIND11_MODULE(_maingopy, m)
     py::enum_<maingo::AUGMENTATION_RULE>(m, "AUGMENTATION_RULE")
         .value("AUG_RULE_CONST", maingo::AUGMENTATION_RULE::AUG_RULE_CONST)
         .value("AUG_RULE_SCALING", maingo::AUGMENTATION_RULE::AUG_RULE_SCALING)
-        .value("AUG_RULE_VALID", maingo::AUGMENTATION_RULE::AUG_RULE_VALID)
+        .value("AUG_RULE_OOS", maingo::AUGMENTATION_RULE::AUG_RULE_OOS)
         .value("AUG_RULE_COMBI", maingo::AUGMENTATION_RULE::AUG_RULE_COMBI)
         .value("AUG_RULE_TOL", maingo::AUGMENTATION_RULE::AUG_RULE_TOL)
         .value("AUG_RULE_SCALCST", maingo::AUGMENTATION_RULE::AUG_RULE_SCALCST)
-        .value("AUG_RULE_VALCST", maingo::AUGMENTATION_RULE::AUG_RULE_VALCST)
+        .value("AUG_RULE_OOSCST", maingo::AUGMENTATION_RULE::AUG_RULE_OOSCST)
         .value("AUG_RULE_COMBICST", maingo::AUGMENTATION_RULE::AUG_RULE_COMBICST)
         .value("AUG_RULE_TOLCST", maingo::AUGMENTATION_RULE::AUG_RULE_TOLCST)
         .export_values();
diff --git a/maingopy/tests/individualPythonTests/testSolver.py b/maingopy/tests/individualPythonTests/testSolver.py
index 667e44a0710d93a5ed1d3d0d2a5a984adce77658..49462d95f193f0d6259cc9d71a511629e881eb19 100644
--- a/maingopy/tests/individualPythonTests/testSolver.py
+++ b/maingopy/tests/individualPythonTests/testSolver.py
@@ -284,11 +284,11 @@ class TestMAiNGOgrowingDatasets(unittest.TestCase):
         try:
             myRetCode = AUG_RULE_CONST
             myRetCode = AUG_RULE_SCALING
-            myRetCode = AUG_RULE_VALID
+            myRetCode = AUG_RULE_OOS
             myRetCode = AUG_RULE_COMBI
             myRetCode = AUG_RULE_TOL
             myRetCode = AUG_RULE_SCALCST
-            myRetCode = AUG_RULE_VALCST
+            myRetCode = AUG_RULE_OOSCST
             myRetCode = AUG_RULE_COMBICST
             myRetCode = AUG_RULE_TOLCST
         except:
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000000000000000000000000000000000000..e9968336c5df47c19e04db79f783e23c51fa4ef2
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,7 @@
+[build-system]
+requires = [
+    "setuptools>=42",
+    "wheel",
+    "scikit-build",
+    "cmake>=3.19",]
+build-backend = "setuptools.build_meta"
\ No newline at end of file
diff --git a/setup.py b/setup.py
index 3aa34f1b9f99cea2d6b2d6e289d45038ed1bef0f..874c0b3add5bdd4cd601326e592b1979750244ab 100644
--- a/setup.py
+++ b/setup.py
@@ -1,12 +1,6 @@
-import re, sys
-try:
-    from setuptools import find_packages
-except:
-    raise ImportError('Error during setup of maingopy: maingopy requires setuptools, which is not available.')
-try:
-    from skbuild import setup
-except:
-    raise ImportError('Error during setup of maingopy: maingopy requires scikit-build, which is not available.')
+import re
+from setuptools import find_packages
+from skbuild import setup
 
 
 with open('maingopy/Readme.md', 'r') as fh:
@@ -16,7 +10,7 @@ with open('maingopy/Readme.md', 'r') as fh:
 with open('cmake/MAiNGOversion.cmake', 'r') as versionFile:
     lines = versionFile.readlines()
     MAiNGOversion = lines[1].rstrip()
-    p = re.compile("^[0-9]\.[0-9]\.[0-9](\.[0-9])?$")
+    p = re.compile(r"^[0-9]\.[0-9]\.[0-9](\.[0-9])?$")
     if not(p.match(MAiNGOversion)):
         raise ValueError("Error reading MAiNGO version. Found invalid string {}".format(MAiNGOversion))
 
@@ -47,12 +41,12 @@ setup(
         'Topic :: Scientific/Engineering',
         'License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)',
         'Programming Language :: C++',
-        'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
         'Programming Language :: Python :: 3.9',
         'Programming Language :: Python :: 3.10',
         'Programming Language :: Python :: 3.11',
         'Programming Language :: Python :: 3.12',
+        'Programming Language :: Python :: 3.13',
         'Operating System :: Microsoft :: Windows',
         'Operating System :: POSIX :: Linux',
         'Operating System :: MacOS :: MacOS X',
diff --git a/src/MAiNGO.cpp b/src/MAiNGO.cpp
index f22b7713e309139991472e42f1501ad0443a756c..fdba4ecb0a3e86eca43f4d6d949870a15bb70fa5 100644
--- a/src/MAiNGO.cpp
+++ b/src/MAiNGO.cpp
@@ -2946,12 +2946,14 @@ MAiNGO::_set_constraint_and_variable_properties()
         }
     }
 
-    // If the model should be solved as a two-stage problem, were done
-    if (_myTwoStageFFVARmodel && (_maingoSettings->TS_useLowerBoundingSubsolvers || _maingoSettings->TS_useUpperBoundingSubsolvers))
+    // If the model should be solved as a two-stage problem, we are done
+    if (_myTwoStageFFVARmodel && (_maingoSettings->TS_useLowerBoundingSubsolvers || _maingoSettings->TS_useUpperBoundingSubsolvers)) {
         return;
-    // Set branching priorities on linear variables to zero to avoid branching on them
+    }
+
+    // Set branching priorities on continuous variables occurring only linearly to zero to avoid branching on them
     for (size_t i = 0; i < _nvarLbd; i++) {
-        if (_variableIsLinear[i]) {
+        if (_variableIsLinear[i] && (_variablesLbd[i].get_variable_type() == VT_CONTINUOUS)) {
             _variablesLbd[i].set_branching_priority(0.);
         }
     }
diff --git a/src/MAiNGOsetOption.cpp b/src/MAiNGOsetOption.cpp
index 0af40f4def9a2a42f4adf643590475385d1fd27a..48992d334252cb931ebdce1d1b8e682984c8de05 100644
--- a/src/MAiNGOsetOption.cpp
+++ b/src/MAiNGOsetOption.cpp
@@ -938,7 +938,7 @@ MAiNGO::set_option(const std::string& option, const double value)
                 _maingoSettings->growing_augmentRule = AUG_RULE_SCALING;
             }
             else if ((int)value == 2) {
-                _maingoSettings->growing_augmentRule = AUG_RULE_VALID;
+                _maingoSettings->growing_augmentRule = AUG_RULE_OOS;
             }
             else if ((int)value == 3) {
                 _maingoSettings->growing_augmentRule = AUG_RULE_COMBI;
@@ -950,7 +950,7 @@ MAiNGO::set_option(const std::string& option, const double value)
                 _maingoSettings->growing_augmentRule = AUG_RULE_SCALCST;
             }
             else if ((int)value == 6) {
-                _maingoSettings->growing_augmentRule = AUG_RULE_VALCST;
+                _maingoSettings->growing_augmentRule = AUG_RULE_OOSCST;
             }
             else if ((int)value == 7) {
                 _maingoSettings->growing_augmentRule = AUG_RULE_COMBICST;
@@ -968,7 +968,7 @@ MAiNGO::set_option(const std::string& option, const double value)
     else if (option == "growing_augmentFreq") {
 #ifdef HAVE_GROWING_DATASETS
         if (_maingoSettings->growing_augmentRule == AUG_RULE_CONST
-            || _maingoSettings->growing_augmentRule == AUG_RULE_SCALCST  || _maingoSettings->growing_augmentRule == AUG_RULE_VALCST
+            || _maingoSettings->growing_augmentRule == AUG_RULE_SCALCST  || _maingoSettings->growing_augmentRule == AUG_RULE_OOSCST
             || _maingoSettings->growing_augmentRule == AUG_RULE_COMBICST || _maingoSettings->growing_augmentRule == AUG_RULE_TOLCST) {
             if (value < 1.) {
                 _logger->save_setting(GROWING_AUGMENTFREQ, "growing_augmentFreq has to be at least 1, setting it to default (10)");
diff --git a/src/MAiNGOwritingFunctions.cpp b/src/MAiNGOwritingFunctions.cpp
index 32ca63aa93a4f007cb16d0330319955574629fec..852e765097f39210621f94bf9ffbcb2a71c1c765 100644
--- a/src/MAiNGOwritingFunctions.cpp
+++ b/src/MAiNGOwritingFunctions.cpp
@@ -303,42 +303,48 @@ MAiNGO::_write_json_file()
     jsonFile.open(_jsonFileName, std::ios::out);
 
     jsonFile << "{" << std::endl;
-    jsonFile << "  \"MAiNGOversion\" : \"" << get_version() << "\"," << std::endl;
+    jsonFile << "  \"MAiNGOversion\" : \"" << get_version() << "\"";
+
+    jsonFile << "," << std::endl;
     jsonFile << "  \"ProblemType\" : \"";
     switch (_problemStructure) {
         case LP:
-            jsonFile << "LP\"," << std::endl;
+            jsonFile << "LP\"";
             break;
         case QP:
-            jsonFile << "QP\"," << std::endl;
+            jsonFile << "QP\"";
             break;
         case MIP:
-            jsonFile << "MIP\"," << std::endl;
+            jsonFile << "MIP\"";
             break;
         case MIQP:
-            jsonFile << "MIQP\"," << std::endl;
+            jsonFile << "MIQP\"";
             break;
         case NLP:
-            jsonFile << "NLP\"," << std::endl;
+            jsonFile << "NLP\"";
             break;
         case DNLP:
-            jsonFile << "DNLP\"," << std::endl;
+            jsonFile << "DNLP\"";
             break;
         case MINLP:
-            jsonFile << "MINLP\"," << std::endl;
+            jsonFile << "MINLP\"";
             break;
         default:    // GCOVR_EXCL_LINE
             throw MAiNGOException("Error writing json file: unknown problem structure " + std::to_string(_problemStructure)); // GCOVR_EXCL_LINE
     }
+
     if (!_maingoSettings->PRE_pureMultistart && _problemStructure > MIQP) {
+        jsonFile << "," << std::endl;
         jsonFile << "  \"SolutionStatistics\" : {" << std::endl;
         jsonFile << "    \"NumberOfIterations\" : " << _myBaB->get_iterations() << "," << std::endl;
         jsonFile << "    \"LBDProblemsSolved\" : " << _myBaB->get_LBP_count() << "," << std::endl;
         jsonFile << "    \"UBPProblemsSolved\" : " << _myBaB->get_UBP_count() << "," << std::endl;
         jsonFile << "    \"MaximumNodesInMemory\" : " << _myBaB->get_max_nodes_in_memory() << "," << std::endl;
         jsonFile << "    \"NumberOfNodesLeft\" : " << _myBaB->get_nodes_left() << std::endl;
-        jsonFile << "  }," << std::endl;
+        jsonFile << "  }";
     }
+
+    jsonFile << "," << std::endl;
     jsonFile << "  \"Timing\" : {" << std::endl;
     jsonFile << "    \"PreProcessingCPU\" : " << _preprocessTime << "," << std::endl;
     jsonFile << "    \"PreProcessingWall\" : " << _preprocessTimeWallClock << "," << std::endl;
@@ -346,32 +352,34 @@ MAiNGO::_write_json_file()
     jsonFile << "    \"BranchAndBoundWall\" : " << _solutionTimeWallClock - _preprocessTimeWallClock << "," << std::endl;
     jsonFile << "    \"TotalCPU\" : " << _solutionTime << "," << std::endl;
     jsonFile << "    \"TotalWall\" : " << _solutionTimeWallClock << std::endl;
-    jsonFile << "  }," << std::endl;
-    std::string str = (!_solutionPoint.empty()) ? "true" : "false";
+    jsonFile << "  }";
+
+    jsonFile << "," << std::endl;
     jsonFile << "  \"Solution\" : {" << std::endl;
+    const std::string str = (!_solutionPoint.empty()) ? "true" : "false";
     jsonFile << "    \"FoundFeasiblePoint\" : " << str << "," << std::endl;
     jsonFile << "    \"MAiNGOstatus\" : ";
     switch (_maingoStatus) {
         case GLOBALLY_OPTIMAL:
-            jsonFile << "\"Globally optimal\"," << std::endl;
+            jsonFile << "\"Globally optimal\"";
             break;
         case INFEASIBLE:
-            jsonFile << "\"Infeasible\"," << std::endl;
+            jsonFile << "\"Infeasible\"";
             break;
         case FEASIBLE_POINT:
-            jsonFile << "\"Feasible point\"," << std::endl;
+            jsonFile << "\"Feasible point\"";
             break;
         case NO_FEASIBLE_POINT_FOUND:
-            jsonFile << "\"No feasible point found\"," << std::endl;
+            jsonFile << "\"No feasible point found\"";
             break;
         case BOUND_TARGETS:
-            jsonFile << "\"Reached target bound\"," << std::endl;
+            jsonFile << "\"Reached target bound\"";
             break;
         case NOT_SOLVED_YET: // GCOVR_EXCL_START
-            jsonFile << "\"Not solved yet\"," << std::endl;
+            jsonFile << "\"Not solved yet\"";
             break;
         case JUST_A_WORKER_DONT_ASK_ME:
-            jsonFile << "\"Just a worker\"," << std::endl;
+            jsonFile << "\"Just a worker\"";
             break;
         default:
             throw MAiNGOException("Error writing json file: unknown status " + std::to_string(_maingoStatus));
@@ -380,6 +388,7 @@ MAiNGO::_write_json_file()
 
 
     if (!_solutionPoint.empty()) {
+        jsonFile << "," << std::endl;
         jsonFile << "    \"BestSolutionValue\" : " << _solutionValue << "," << std::endl;
         if (!_maingoSettings->PRE_pureMultistart && _problemStructure > MIQP) {
             jsonFile << "    \"FoundAtNode\" : " << _myBaB->get_first_found() << "," << std::endl;
@@ -416,8 +425,8 @@ MAiNGO::_write_json_file()
         }
         jsonFile << "    ]" << std::endl;
     }
-    jsonFile << "  }" << std::endl;
-    jsonFile << "}";
+    jsonFile << std::endl << "  }";
+    jsonFile << std::endl << "}";
 
     jsonFile.close();
 }
diff --git a/src/bab.cpp b/src/bab.cpp
index 407cef2b610024a6f6fe861446c0be262cb161b4..4f87a39ebb6312895f4b03bf8f89c1c332b112d1 100644
--- a/src/bab.cpp
+++ b/src/bab.cpp
@@ -508,18 +508,18 @@ BranchAndBound::solve(babBase::BabNode &rootNodeIn, double &solutionValue, std::
                     // -----------------------------------
                     // After getting the currentLBD from workers
                     // Before augmenting and pruning
-                    double validatedLBD = -_maingoSettings->infinity;
+                    double oosLBD = -_maingoSettings->infinity;
 
                     if ((_maingoSettings->growing_approach > GROW_APPR_DETERMINISTIC) && (currentNode.get_index_dataset() > 0)) {
                         // Validation set is only defined for reduced dataset
-                        validatedLBD = _evaluate_lower_bound_for_validation_set(currentNode, lbpSolutionPoint, currentLBD);
+                        oosLBD = _evaluate_lower_bound_for_validation_set(currentNode, lbpSolutionPoint, currentLBD);
                     }
 
                     // -----------------------------------
                     // B&B algorithm with growing datasets: Augmenting
                     // -----------------------------------
                     if (nodeProvenInfeasible == false) {
-                        currentNode.set_augment_data(_check_whether_to_augment(currentNode, lbpSolutionPoint, currentLBD, validatedLBD));
+                        currentNode.set_augment_data(_check_whether_to_augment(currentNode, lbpSolutionPoint, currentLBD, oosLBD));
                         if (currentNode.get_augment_data()) {
                             unsigned int newDataIndex = _augment_dataset(currentNode);
                             if ((nodeConverged == false) || (currentNode.get_index_dataset() > 0)) {
@@ -630,7 +630,7 @@ BranchAndBound::solve(babBase::BabNode &rootNodeIn, double &solutionValue, std::
                             if ((_maingoSettings->growing_approach > GROW_APPR_DETERMINISTIC) && (currentNode.get_index_dataset() > 0)) {
                                 // Pruning based on combined lower bound
                                 // For full dataset, we have combinedLBD = fullLBD = currentLBD and, thus, nothing to do
-                                currentLBD = _calculate_combined_lower_bound(currentLBD, validatedLBD, currentNode.get_index_dataset());
+                                currentLBD = _calculate_combined_lower_bound(currentLBD, oosLBD, currentNode.get_index_dataset());
                             }
 #endif    // HAVE_GROWING_DATASETS
                         currentNode.set_pruning_score(currentLBD);
@@ -1693,6 +1693,7 @@ BranchAndBound::_call_augmentation_rule_scaling(const int indexDataset, const do
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // function for evaluating the lower bounding solution point for the validation set
+// i.e., for calculating the out-of-sample lower bound
 double
 BranchAndBound::_evaluate_lower_bound_for_validation_set(const babBase::BabNode& currentNode, const std::vector<double>& lbpSolutionPoint, const double currentLBD)
 {
@@ -1703,37 +1704,37 @@ BranchAndBound::_evaluate_lower_bound_for_validation_set(const babBase::BabNode&
         throw MAiNGOException(errmsg.str());
     }
 
-    double validatedLBD = _maingoSettings->infinity;
+    double oosLBD = _maingoSettings->infinity;
 
     // Evaluate validation set
     _LBS->change_growing_objective(-currentNode.get_index_dataset());
-    _LBS->evaluate_LBP(currentNode, lbpSolutionPoint, validatedLBD);
+    _LBS->evaluate_LBP(currentNode, lbpSolutionPoint, oosLBD);
 
     // Reset current dataset to former training set
     _LBS->change_growing_objective(currentNode.get_index_dataset());
 
-    return validatedLBD;
+    return oosLBD;
 }
 
 
 ////////////////////////////////////////////////////////////////////////////////////////
-// function for calculating approximated lower bound as combination of reduced and validated lower bound
+// function for calculating approximated lower bound as combination of reduced and out-of-sample lower bound
 double
-BranchAndBound::_calculate_combined_lower_bound(const double currentLBD, const double validatedLBD, const unsigned int indexDataset)
+BranchAndBound::_calculate_combined_lower_bound(const double currentLBD, const double oosLBD, const unsigned int indexDataset)
 {
     double combiLBD;
 
-    // approximate lower bound by convex combination of currentLBD and validated LBD
+    // approximate lower bound by convex combination of currentLBD and out-of-sample LBD
     if (_maingoSettings->growing_approach == GROW_APPR_MSEHEURISTIC) {
         // objective of LBP is mean squared error
-        // Thus, use dataRatio * reduced LBD + (1-dataRatio) * validated LBD
+        // Thus, use dataRatio * reduced LBD + (1-dataRatio) * out-of-sample LBD
         double dataRatio = (double)(*_datasets)[indexDataset].size() / (double)(*_datasets)[0].size();
-        combiLBD = dataRatio * currentLBD + (1 - dataRatio) * validatedLBD;
+        combiLBD = dataRatio * currentLBD + (1 - dataRatio) * oosLBD;
     }
     else {
         // objective of LBP is summed squared error
-        // Thus, use reduced LBD + validated LBD
-        combiLBD = currentLBD + validatedLBD;
+        // Thus, use reduced LBD + out-of-sample LBD
+        combiLBD = currentLBD + oosLBD;
     }
 
     return combiLBD;
@@ -1741,22 +1742,22 @@ BranchAndBound::_calculate_combined_lower_bound(const double currentLBD, const d
 
 
 ////////////////////////////////////////////////////////////////////////////////////////
-// auxiliary function calling augmentation rule VALID
+// auxiliary function calling augmentation rule OOS
 bool
-BranchAndBound::_call_augmentation_rule_valid(const double validatedLBD)
+BranchAndBound::_call_augmentation_rule_oos(const double oosLBD)
 {
-    // Augment if validated LB suggests pruning
-    return babBase::larger_or_equal_within_rel_and_abs_tolerance(validatedLBD, _ubd, _maingoSettings->epsilonR, _maingoSettings->epsilonA);
+    // Augment if out-of-sample LB suggests pruning
+    return babBase::larger_or_equal_within_rel_and_abs_tolerance(oosLBD, _ubd, _maingoSettings->epsilonR, _maingoSettings->epsilonA);
 }
 
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // auxiliary function calling augmentation rule COMBI
 bool
-BranchAndBound::_call_augmentation_rule_combi(const double currentLBD, const double validatedLBD, const unsigned int indexDataset)
+BranchAndBound::_call_augmentation_rule_combi(const double currentLBD, const double oosLBD, const unsigned int indexDataset)
 {
     // Augment if combined LB suggests pruning
-    double combiLBD = _calculate_combined_lower_bound(currentLBD, validatedLBD, indexDataset);
+    double combiLBD = _calculate_combined_lower_bound(currentLBD, oosLBD, indexDataset);
     return babBase::larger_or_equal_within_rel_and_abs_tolerance(combiLBD, _ubd, _maingoSettings->epsilonR, _maingoSettings->epsilonA);
 }
 
@@ -1764,12 +1765,12 @@ BranchAndBound::_call_augmentation_rule_combi(const double currentLBD, const dou
 ////////////////////////////////////////////////////////////////////////////////////////
 // auxiliary function calling augmentation rule TOL
 bool
-BranchAndBound::_call_augmentation_rule_tol(const double currentLBD, const double validatedLBD, const unsigned int indexDataset)
+BranchAndBound::_call_augmentation_rule_tol(const double currentLBD, const double oosLBD, const unsigned int indexDataset)
 {
     // Augment if upper bound is smaller than the lower bound used for pruning plus an additional absolute or relative tolerance
     if (_maingoSettings->growing_approach > GROW_APPR_DETERMINISTIC) {
         // Combined lower bound used for pruning
-        double combiLBD = _calculate_combined_lower_bound(currentLBD, validatedLBD, indexDataset);
+        double combiLBD = _calculate_combined_lower_bound(currentLBD, oosLBD, indexDataset);
         return babBase::larger_or_equal_within_rel_and_abs_tolerance(combiLBD, _ubd, _maingoSettings->growing_augmentTol, _maingoSettings->growing_augmentTol);
     }
     else {
@@ -1782,7 +1783,7 @@ BranchAndBound::_call_augmentation_rule_tol(const double currentLBD, const doubl
 ////////////////////////////////////////////////////////////////////////////////////////
 // function which checks whether to augment the dataset
 bool
-BranchAndBound::_check_whether_to_augment(const babBase::BabNode &currentNode, const std::vector<double> &lbpSolutionPoint, const double currentLBD, const double validatedLBD)
+BranchAndBound::_check_whether_to_augment(const babBase::BabNode &currentNode, const std::vector<double> &lbpSolutionPoint, const double currentLBD, const double oosLBD)
 {
     bool augment = false;
 
@@ -1798,16 +1799,16 @@ BranchAndBound::_check_whether_to_augment(const babBase::BabNode &currentNode, c
                 augment = _call_augmentation_rule_scaling(currentNode.get_index_dataset(), currentLBD);
                 break;
             }
-            case AUG_RULE_VALID: {
-                augment = _call_augmentation_rule_valid(validatedLBD);
+            case AUG_RULE_OOS: {
+                augment = _call_augmentation_rule_oos(oosLBD);
                 break;
             }
             case AUG_RULE_COMBI: {
-                augment = _call_augmentation_rule_combi(currentLBD, validatedLBD, currentNode.get_index_dataset());
+                augment = _call_augmentation_rule_combi(currentLBD, oosLBD, currentNode.get_index_dataset());
                 break;
             }
             case AUG_RULE_TOL: {
-                augment = _call_augmentation_rule_tol(currentLBD, validatedLBD, currentNode.get_index_dataset());
+                augment = _call_augmentation_rule_tol(currentLBD, oosLBD, currentNode.get_index_dataset());
                 break;
             }
             case AUG_RULE_SCALCST: {
@@ -1815,19 +1816,19 @@ BranchAndBound::_check_whether_to_augment(const babBase::BabNode &currentNode, c
                           || _call_augmentation_rule_scaling(currentNode.get_index_dataset(), currentLBD);
                 break;
             }
-            case AUG_RULE_VALCST: {// Augment if VALID or CONST is triggered
+            case AUG_RULE_OOSCST: {// Augment if OOS or CONST is triggered
                 augment = _call_augmentation_rule_const(currentNode.get_depth())
-                          || _call_augmentation_rule_valid(validatedLBD);
+                          || _call_augmentation_rule_oos(oosLBD);
                 break;
             }
             case AUG_RULE_COMBICST: {
                 augment = _call_augmentation_rule_const(currentNode.get_depth())
-                    || _call_augmentation_rule_combi(currentLBD, validatedLBD, currentNode.get_index_dataset());
+                    || _call_augmentation_rule_combi(currentLBD, oosLBD, currentNode.get_index_dataset());
                 break;
             }
-            case AUG_RULE_TOLCST: {// Augment if VALID or CONST is triggered
-                augment = _call_augmentation_rule_const(validatedLBD)
-                    || _call_augmentation_rule_tol(currentLBD, validatedLBD, currentNode.get_index_dataset());
+            case AUG_RULE_TOLCST: {// Augment if TOL or CONST is triggered
+                augment = _call_augmentation_rule_const(oosLBD)
+                    || _call_augmentation_rule_tol(currentLBD, oosLBD, currentNode.get_index_dataset());
                 break;
             }
             default: {
diff --git a/src/lbpLinearizationStrats.cpp b/src/lbpLinearizationStrats.cpp
index 6ac9da30e7139e647c73bbaaf8c2d4ecf4a788a9..550908102e0b532fa03a450417a027a278e2a124 100644
--- a/src/lbpLinearizationStrats.cpp
+++ b/src/lbpLinearizationStrats.cpp
@@ -49,7 +49,7 @@ LowerBoundingSolver::_linearize_model_at_incumbent_or_at_midpoint(const std::vec
     PROFILE_FUNCTION()
 
     _logger->print_message("  Checking if node contains incumbent.", VERB_ALL, LBP_VERBOSITY);
-    if (point_is_within_node_bounds(_incumbent, lowerVarBounds, upperVarBounds)) {
+    if (!_incumbent.empty() && point_is_within_node_bounds(_incumbent, lowerVarBounds, upperVarBounds)) {
         _logger->print_message("  Node contains incumbent, linearizing there.", VERB_ALL, LBP_VERBOSITY);
 
         _linearize_functions_at_linpoint(_DAGobj->resultRelaxation, _incumbent, lowerVarBounds, upperVarBounds, _DAGobj->subgraph, _DAGobj->functions);
diff --git a/src/pointIsWithinNodeBounds.cpp b/src/pointIsWithinNodeBounds.cpp
index 2fa9c86532b64b3acc22144bb8802a37b4905133..ad3fdf0e665876b1ec0743f3f9e478adbad148db 100644
--- a/src/pointIsWithinNodeBounds.cpp
+++ b/src/pointIsWithinNodeBounds.cpp
@@ -23,6 +23,7 @@ namespace maingo {
 bool
 point_is_within_node_bounds(const std::vector<double>& point, const std::vector<double>& lowerBounds, const std::vector<double>& upperBounds)
 {
+    //if(point.empty()) return false;
     assert(lowerBounds.size() == upperBounds.size());
     assert(lowerBounds.size() == point.size());
 
diff --git a/src/ubp.cpp b/src/ubp.cpp
index f47b4dfe9babd748d0ed9490a1338d13d42e6a8f..0bd7aa76b07bfdca890ac051145df1a8d13d2da1 100644
--- a/src/ubp.cpp
+++ b/src/ubp.cpp
@@ -825,8 +825,13 @@ UpperBoundingSolver::_check_ineq_squash(const std::vector<double> &modelOutput)
 SUBSOLVER_RETCODE
 UpperBoundingSolver::_check_bounds(const std::vector<double> &currentPoint) const
 {
+
     _logger->print_message("  Checking feasibility with respect to original variable bounds.\n", VERB_ALL, UBP_VERBOSITY);
-    if (point_is_within_node_bounds(currentPoint, _originalLowerBounds, _originalUpperBounds)) {
+    if (currentPoint.empty()) {
+        _logger->print_message("  No feasible point found for UBP. Point empty.\n", VERB_ALL, UBP_VERBOSITY);
+        return SUBSOLVER_INFEASIBLE;
+    }
+    else if (point_is_within_node_bounds(currentPoint, _originalLowerBounds, _originalUpperBounds)) {
         return SUBSOLVER_FEASIBLE;
     }
     else {