diff --git a/.github/workflows/pytest_contamination.yml b/.github/workflows/pytest_contamination.yml
index 4cf4e1b6..2d23d4e8 100644
--- a/.github/workflows/pytest_contamination.yml
+++ b/.github/workflows/pytest_contamination.yml
@@ -29,4 +29,6 @@ jobs:
         pip install pytest
 
     - name: Run pytest
-      run: python -m pytest ./tests/test_contamination_mcar.py
\ No newline at end of file
+      run:  |
+        python -m pytest ./tests/test_contamination_mcar.py
+        python -m pytest ./tests/test_contamination_mp.py
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 229b852b..e56397cd 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,9 +2,10 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="d2565aa5-b0c7-4b53-9b23-84bd42c9e5d7" name="Changes" comment="">
-      <change afterPath="$PROJECT_DIR$/tests/test_contamination_mp.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.github/workflows/pytest_contamination.yml" beforeDir="false" afterPath="$PROJECT_DIR$/.github/workflows/pytest_contamination.yml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/imputegap/contamination/contamination.py" beforeDir="false" afterPath="$PROJECT_DIR$/imputegap/contamination/contamination.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/imputegap/imputation/imputation.py" beforeDir="false" afterPath="$PROJECT_DIR$/imputegap/imputation/imputation.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/imputegap/runner_optimization.py" beforeDir="false" afterPath="$PROJECT_DIR$/imputegap/runner_optimization.py" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -198,7 +199,7 @@
       <workItem from="1727357029326" duration="44000" />
       <workItem from="1727358317602" duration="1867000" />
       <workItem from="1727361217072" duration="594000" />
-      <workItem from="1727434411640" duration="11424000" />
+      <workItem from="1727434411640" duration="13178000" />
     </task>
     <servers />
   </component>
diff --git a/imputegap/imputation/imputation.py b/imputegap/imputation/imputation.py
index 14f0dc42..9d86ea5c 100644
--- a/imputegap/imputation/imputation.py
+++ b/imputegap/imputation/imputation.py
@@ -12,7 +12,7 @@
 
 class Imputation:
 
-    def load_parameters(query="default", algorithm="cdrec"):
+    def load_parameters(query: str = "default", algorithm: str = "cdrec"):
         """
         Load default values of algorithms
 
@@ -79,7 +79,7 @@ def evaluate_params(ground_truth, contamination, configuration, algorithm="cdrec
             imputation, error_measures = Imputation.MR.cdrec(ground_truth, contamination, (rank, eps, iters))
         elif algorithm == 'iim':
             learning_neighbours = configuration
-            alg_code = "iim " + learning_neighbours
+            alg_code = "iim " + re.sub(r'[\W_]', '', str(learning_neighbours))
             imputation, error_measures = Imputation.Regression.iim_imputation(ground_truth, contamination, (learning_neighbours, alg_code))
         elif algorithm == 'mrnn':
             hidden_dim, learning_rate, iterations, keep_prob, seq_len = configuration
diff --git a/imputegap/runner_optimization.py b/imputegap/runner_optimization.py
index c662de57..e4fb0793 100644
--- a/imputegap/runner_optimization.py
+++ b/imputegap/runner_optimization.py
@@ -37,7 +37,7 @@ def check_block_size(filename):
     gap.print()
     gap.plot(ts_type="contamination", title="test", save_path="assets", limitation=3, display=False)
 
-    optimal_params, yi = Optimization.Bayesian.bayesian_optimization(ground_truth=gap.ts, contamination=gap.ts_contaminate)
+    optimal_params, yi = Optimization.Bayesian.bayesian_optimization(ground_truth=gap.ts, contamination=gap.ts_contaminate, algorithm="iim")
 
     print("\nOptical Params : ", optimal_params)
     print("\nyi : ", yi, "\n")