diff --git a/core/functions/tracks.py b/core/functions/tracks.py
index b1c06b70c2694ded94796d082f9c34ef4fbb7c66..928fc2b177c63857d0ff4149771b5f04b581478c 100644
--- a/core/functions/tracks.py
+++ b/core/functions/tracks.py
@@ -313,7 +313,7 @@ def get_closest_pairs(pre: List[float], post: List[float], tol: Union[float, int
     result = dMetric[ids] / norm
     ids = ids if len(pre) < len(post) else ids[::-1]
 
-    return [idx for idx, res in zip(zip(*ids), result) if res < tol]
+    return [idx for idx, res in zip(zip(*ids), result) if res <= tol]
 
 
 def solve_matrix(dMetric):
diff --git a/core/processes/merger.py b/core/processes/merger.py
index 51a2e0a49aefade6c344eb0929d9fa7abedf6a18..1fa07b9191f7d2e0b2370c54b0364581b00b8de4 100644
--- a/core/processes/merger.py
+++ b/core/processes/merger.py
@@ -45,7 +45,7 @@ class mergerParameters(ParametersABC):
 
 class merger(ProcessABC):
     """
-    TODO Integrate functions/tracks.py inside this class?
+    TODO check why it needs to be run a few times to complete the merging
     """
 
     def __init__(self, parameters):
diff --git a/core/processes/picker.py b/core/processes/picker.py
index ca441e4d4c6e0056af247c1ff9200262131f55af..2c057df93afd40a1a109f2866191e8d2c0451a02 100644
--- a/core/processes/picker.py
+++ b/core/processes/picker.py
@@ -116,5 +116,5 @@ class picker(ProcessABC):
 
 def _as_int(threshold: Union[float, int], ntps: int):
     if type(threshold) is float:
-        threshold = threshold / ntps
+        threshold = ntps * threshold
     return threshold
diff --git a/core/processor.py b/core/processor.py
index 516f4c1ec4f0312170688180723c03fb001c35cb..e5eb499525991fcb7d8aed774a08472400e37176 100644
--- a/core/processor.py
+++ b/core/processor.py
@@ -112,18 +112,13 @@ class PostProcessor:
         merge_events = self.merger.run(self._signal[self.targets["prepost"]["merger"]])
 
         with h5py.File(self._filename, "r") as f:
-            prev_idchanges = self._signal.get_id_changes()
-
-        changes_history = prev_idchanges + [merge_events]  # + [picks]
-        self._writer.write("/id_changes", data=changes_history)
-        # self._writer.write(
-        #     "/postprocessing/merge_events/",
-        #     data=merge_events,
-        #     meta={"source": "/cell_info/"},
-        # )
-        # changes_history += picks
-        # picks = self.picker.run(self._signal[self.targets["prepost"]["picker"][0]])
-        # self._writer.write()
+            prev_idchanges = self._signal.get_merges()
+
+        changes_history = list(prev_idchanges) + [np.array(x) for x in merge_events]
+        self._writer.write("modifiers/merges", data=changes_history)
+
+        picks = self.picker.run(self._signal[self.targets["prepost"]["picker"][0]])
+        self._writer.write("modifiers/picks", data=picks)
 
     def run(self):
         self.run_prepost()