diff --git a/pes_to_spec/model.py b/pes_to_spec/model.py
index a45f76083e0fce97e9cc08ab3f16e303671989ba..761e0864aea029d95e48b3ecf597a4553cd15508 100644
--- a/pes_to_spec/model.py
+++ b/pes_to_spec/model.py
@@ -14,6 +14,7 @@ from sklearn.base import TransformerMixin, BaseEstimator
 from sklearn.base import RegressorMixin
 from sklearn.kernel_approximation import Nystroem
 from sklearn.linear_model import ARDRegression
+#from sklearn.svm import LinearSVR
 #from sklearn.gaussian_process import GaussianProcessRegressor
 #from sklearn.gaussian_process.kernels import DotProduct, WhiteKernel
 from itertools import product
@@ -470,6 +471,7 @@ class MultiOutputWithStd(MetaEstimatorMixin, BaseEstimator):
         """
         y = Parallel(n_jobs=self.n_jobs)(
             delayed(e.predict)(X, return_std) for e in self.estimators_
+            #delayed(e.predict)(X) for e in self.estimators_
         )
         if return_std:
             y, unc = zip(*y)
@@ -500,13 +502,13 @@ class Model(TransformerMixin, BaseEstimator):
     def __init__(self,
                  channels:List[str]=[f"channel_{j}_{k}"
                                      for j, k in product(range(1, 5), ["A", "B", "C", "D"])],
-                 n_pca_lr: int=600,
-                 n_pca_hr: int=30,
+                 n_pca_lr: int=1000,
+                 n_pca_hr: int=40,
                  high_res_sigma: float=0.2,
                  tof_start: Optional[int]=None,
                  delta_tof: Optional[int]=300,
                  validation_size: float=0.05,
-                 n_nonlinear_kernel: int=1000):
+                 n_nonlinear_kernel: int=10000):
         # models
         self.x_model = Pipeline([
                                 ('select', SelectRelevantLowResolution(channels, tof_start, delta_tof)),
@@ -522,7 +524,8 @@ class Model(TransformerMixin, BaseEstimator):
         if n_nonlinear_kernel > 0:
             fit_steps += [('fex', Nystroem(n_components=n_nonlinear_kernel, kernel='rbf', gamma=None, n_jobs=-1))]
         #fit_steps += [('regression', FitModel())]
-        fit_steps += [('regression', MultiOutputWithStd(ARDRegression(n_iter=10)))]
+        fit_steps += [('regression', MultiOutputWithStd(ARDRegression(n_iter=30, verbose=True)))]
+        #fit_steps += [('regression', MultiOutputWithStd(LinearSVR(verbose=10, max_iter=2000, tol=1e-5)))]
         self.fit_model = Pipeline(fit_steps)
 
         # size of the test subset
@@ -567,6 +570,7 @@ class Model(TransformerMixin, BaseEstimator):
         """
         x_t = self.x_model.fit_transform(low_res_data)
         y_t = self.y_model.fit_transform(high_res_data, smoothen__energy=high_res_photon_energy)
+        #self.fit_model.set_params(fex__gamma=1.0/float(x_t.shape[0]))
         self.fit_model.fit(x_t, y_t)
 
         # calculate the effect of the PCA
@@ -640,6 +644,8 @@ class Model(TransformerMixin, BaseEstimator):
         """
         low_pca = self.x_model.transform(low_res_data)
         high_pca, high_pca_unc = self.fit_model.predict(low_pca, return_std=True)
+        #high_pca = self.fit_model.predict(low_pca)
+        #high_pca_unc = 0
         n_trains = high_pca.shape[0]
         pca_y = np.concatenate((high_pca,
                                 high_pca + high_pca_unc),