diff --git a/core/processor.py b/core/processor.py
index b722d8b06f6e28e9800d7e78f960e48db86eb6c8..3a127c1d6d9c97a2b51fe0c189f8c14d6fb2c53b 100644
--- a/core/processor.py
+++ b/core/processor.py
@@ -1,5 +1,8 @@
-from pydoc import locate
+import h5py
 from typing import List, Dict, Union
+from pydoc import locate
+
+import numpy as np
 import pandas as pd
 
 from postprocessor.core.processes.base import ParametersABC
@@ -85,7 +88,6 @@ class PostProcessor:
         """
         Dynamically import a process class from the 'processes' folder.
         Assumes process filename and class name are the same
-        # TODO add support for passing parameters
         """
         return locate("postprocessor.core.processes." + process + "." + process)
 
@@ -94,7 +96,6 @@ class PostProcessor:
         """
         Dynamically import a process class from the 'processes' folder.
         Assumes process filename and class name are the same
-        # TODO add support for passing parameters
         """
         return locate(
             "postprocessor.core.processes." + process + "." + process + "Parameters"
@@ -103,7 +104,7 @@ class PostProcessor:
     def run(self):
         new_ids = self.merger.run(self._signal[self.processes["merger"]])
         for name, ids in new_ids.items():
-            self._writer.write(ids, "/postprocessing/cell_info/" + name)
+            self._writer.write("/postprocessing/cell_info/" + name, ids)
         picks = self.picker.run(self._signal[self.processes["picker"][0]])
         for process, datasets in self.processes["processes"].items():
             parameters = (
@@ -118,7 +119,6 @@ class PostProcessor:
                 if isinstance(dataset, list):  # multisignal process
                     signal = [self._signal[d] for d in dataset]
                 elif isinstance(dataset, str):
-                    print(dataset)
                     signal = self._signal[dataset]
                 else:
                     raise ("Incorrect dataset")
@@ -145,7 +145,10 @@ class PostProcessor:
                 elif isinstance(dataset, str):
                     outpath = dataset[1:].replace("/", "_")
 
-                self._writer.write(result, "/postprocessing/" + process + "/" + outpath)
+    def write_result(
+        self, result: Union[List, pd.DataFrame, np.ndarray], path: str, metadata: Dict
+    ):
+        self._writer.write(result, "/postprocessing/" + process + "/" + outpath)
 
 
 def _if_dict(item):