diff --git a/.gitignore b/.gitignore
index f2b103b6c11c649eb5891a0430ffd5f2abe8aab2..d3708f0973c917eda7488bd51c66335355720352 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,3 +29,6 @@ examples/*/Outputs_*
 
 # Ignore files for local environments
 *_env/*
+
+# Ignore test results
+.coverage*
\ No newline at end of file
diff --git a/Outputs_Bayes_None_Calib/emcee_sampler.h5 b/Outputs_Bayes_None_Calib/emcee_sampler.h5
new file mode 100644
index 0000000000000000000000000000000000000000..a7058d8bea4a7106c1b427b2e2b2a49fcf631925
Binary files /dev/null and b/Outputs_Bayes_None_Calib/emcee_sampler.h5 differ
diff --git a/src/bayesvalidrox/bayes_inference/bayes_inference.py b/src/bayesvalidrox/bayes_inference/bayes_inference.py
index c0c4cd08eb1a07f40a2a397f98cf7d46b4802368..557a786b874d7b1a35b6915c4a04e75ca7426a81 100644
--- a/src/bayesvalidrox/bayes_inference/bayes_inference.py
+++ b/src/bayesvalidrox/bayes_inference/bayes_inference.py
@@ -511,7 +511,7 @@ class BayesInference:
             MAP_theta = self.prior_samples.mean(axis=0).reshape((1, n_params))
 
             # Evaluate the (meta-)model at the MAP
-            y_MAP, y_std_MAP = self.engine.MetaModel.eval_metamodel(samples=MAP_theta)
+            y_MAP, y_std_MAP = self.engine.MetaModel.eval_metamodel(MAP_theta)
 
             # Train a GPR meta-model using MAP
             self.error_MetaModel = self.engine.MetaModel.create_model_error(
@@ -534,7 +534,7 @@ class BayesInference:
                 # map_theta = stats.mode(Posterior_df,axis=0)[0]
 
                 # Evaluate the (meta-)model at the MAP
-                y_MAP, y_std_MAP = self.engine.MetaModel.eval_metamodel(samples=map_theta)
+                y_MAP, y_std_MAP = self.engine.MetaModel.eval_metamodel(map_theta)
 
                 # Train a GPR meta-model using MAP
                 self.error_MetaModel = self.engine.MetaModel.create_model_error(
@@ -1133,7 +1133,7 @@ class BayesInference:
                 post_pred_std = self._std_pce_prior_pred
             else:
                 post_pred, post_pred_std = MetaModel.eval_metamodel(  # TODO: recheck if this is needed
-                    samples=posterior_df.values
+                    posterior_df.values
                 )
 
         else:  # TODO: see emulator version
@@ -1298,8 +1298,7 @@ class BayesInference:
 
         # Run the models for MAP
         # MetaModel
-        map_metamodel_mean, map_metamodel_std = MetaModel.eval_metamodel(
-            samples=map_theta)
+        map_metamodel_mean, map_metamodel_std = MetaModel.eval_metamodel(map_theta)
         self.map_metamodel_mean = map_metamodel_mean
         self.map_metamodel_std = map_metamodel_std
 
diff --git a/src/bayesvalidrox/bayes_inference/mcmc.py b/src/bayesvalidrox/bayes_inference/mcmc.py
index a9914826a955da4506eb364df833a9f2327f4c41..daf8e7b6adf31eea113e7932a0aa9b327d1c342e 100755
--- a/src/bayesvalidrox/bayes_inference/mcmc.py
+++ b/src/bayesvalidrox/bayes_inference/mcmc.py
@@ -753,7 +753,7 @@ class MCMC:
 
         if self.emulator:
             # Evaluate the MetaModel
-            mean_pred, std_pred = engine.MetaModel.eval_metamodel(samples=theta)
+            mean_pred, std_pred = engine.MetaModel.eval_metamodel(theta)
         else:
             # Evaluate the origModel
             mean_pred, std_pred = dict(), dict()
@@ -818,7 +818,7 @@ class MCMC:
         # MAP_theta = st.mode(Posterior_df,axis=0)[0]
 
         # Evaluate the (meta-)model at the MAP
-        y_map, y_std_map = MetaModel.eval_metamodel(samples=map_theta)
+        y_map, y_std_map = MetaModel.eval_metamodel(map_theta)
 
         # Train a GPR meta-model using MAP
         error_MetaModel = MetaModel.create_model_error(
diff --git a/src/bayesvalidrox/surrogate_models/sequential_design.py b/src/bayesvalidrox/surrogate_models/sequential_design.py
index a8039dd6194ae8e1d0398ec3255feea4cb83b71a..8ada17669548766619627cd4e0324faaceb0f92d 100644
--- a/src/bayesvalidrox/surrogate_models/sequential_design.py
+++ b/src/bayesvalidrox/surrogate_models/sequential_design.py
@@ -1178,12 +1178,12 @@ class SequentialDesign:
         P = len(BasisIndices)
 
         # ------ Old Psi ------------
-        univ_p_val = self.MetaModel._univ_basis_vals(oldExpDesignX)
+        univ_p_val = self.MetaModel.univ_basis_vals(oldExpDesignX)
         Psi = create_psi(BasisIndices, univ_p_val)
 
         # ------ New candidates (Psi_c) ------------
         # Assemble Psi_c
-        univ_p_val_c = self.MetaModel._univ_basis_vals(candidates)
+        univ_p_val_c = self.MetaModel.univ_basis_vals(candidates)
         Psi_c = create_psi(BasisIndices, univ_p_val_c)
 
         for idx in range(NCandidate):
diff --git a/src/bayesvalidrox/surrogate_models/surrogate_models.py b/src/bayesvalidrox/surrogate_models/surrogate_models.py
index 5a494135f7046133d2344995bffedb44cdb9197d..28b5344eeee8c20626785826fdc5f8dc3e5c4afa 100644
--- a/src/bayesvalidrox/surrogate_models/surrogate_models.py
+++ b/src/bayesvalidrox/surrogate_models/surrogate_models.py
@@ -413,6 +413,9 @@ class MetaModel:
         self.var_pca_threshold = None
         self.n_pca_components = None
 
+        # Parameters for Inference
+        self.rmse = None
+
         # Build general parameters
         self._pce_deg = 1 # TODO: rename this more generally, so that it can be used for other types as well
 
diff --git a/tests/test_BayesInference.py b/tests/test_BayesInference.py
index 65a5e9cca90593ba869ec3c62c9f031e3e659517..99c3a655de55422af9fbb942a11d59b0c02f5310 100644
--- a/tests/test_BayesInference.py
+++ b/tests/test_BayesInference.py
@@ -803,7 +803,7 @@ def test_posterior_predictive_rejection() -> None:
     expdes.Y = {'Z': [[0.4], [0.5], [0.45]]}
     expdes.x_values = np.array([0])  # Error in plots if this is not available
 
-    mm = MetaModel(inp)
+    mm = PCE(inp)
     mm.n_params = 1
     mm.fit(expdes.X, expdes.Y)
     expdes.generate_ED(expdes.n_init_samples, max_pce_deg=np.max(1))
diff --git a/tests/test_SequentialDesign.py b/tests/test_SequentialDesign.py
index 0f90425ef62da81402b9655b01f66748d21daadd..d674b9156ee6b87631fb0149583811d89baedd27 100644
--- a/tests/test_SequentialDesign.py
+++ b/tests/test_SequentialDesign.py
@@ -145,7 +145,7 @@ def test_tradeoff_weights_adaptiveit1() -> None:
     engine = Engine(mm, mod, expdes)
     engine.start_engine()
     seqDes = SequentialDesign(mm, mod, expdes, engine)
-    seqDes._y_hat_prev, _ = mm.eval_metamodel(samples=np.array([[0.1], [0.2], [0.6]]))
+    seqDes._y_hat_prev, _ = mm.eval_metamodel(np.array([[0.1], [0.2], [0.6]]))
     seqDes.tradeoff_weights('adaptive', expdes.X, expdes.Y)