diff --git a/core/processes/base.py b/core/processes/base.py
index 8412fdb5f25404f30e6988327974dc4c44de200b..9dadb0470eab4de33f56538e9008382496415fda 100644
--- a/core/processes/base.py
+++ b/core/processes/base.py
@@ -2,6 +2,8 @@ from pathlib import Path, PosixPath
 from typing import Union
 from abc import ABC, abstractmethod
 
+from yaml import safe_load, dump
+
 
 class ParametersABC(ABC):
     """
@@ -16,8 +18,11 @@ class ParametersABC(ABC):
     def from_dict(cls, d: dict):
         return cls(**d)
 
-    def to_yaml(self, path: Union[PosixPath, str]):
-        return dump(self.__dict__, path)
+    def to_yaml(self, path: Union[PosixPath, str] = None):
+        if path:
+            with open(Path(path), "w") as f:
+                dump(self.to_dict(), f)
+        return dump(self.to_dict())
 
     @classmethod
     def from_yaml(cls, path: Union[PosixPath, str]):
diff --git a/core/processes/picker.py b/core/processes/picker.py
index 367a88a1ad1a9e6145301f5f265aa48b0394d4ca..9ddd72813147f10dca026872af5871493324aefb 100644
--- a/core/processes/picker.py
+++ b/core/processes/picker.py
@@ -25,7 +25,7 @@ class PickerParameters(ParametersABC):
     def default(cls):
         return cls.from_dict(
             {
-                "condition": ("present", 0.8),
+                "condition": ["present", 0.8],
                 "lineage": None,
                 "sequence": ["lineage", "condition"],
             }