diff --git a/binarycpython/utils/functions.py b/binarycpython/utils/functions.py
index d428ddd70ecc93bc399727b8b0eb11c1c0c00b8b..c1c2379beea2d2facf824381440234b89389a138 100644
--- a/binarycpython/utils/functions.py
+++ b/binarycpython/utils/functions.py
@@ -646,11 +646,19 @@ def parse_binary_c_version_info(version_info_string: str) -> dict:
     cleaned = cleaned - ensembles
 
     ensemble_dict = {}
+    ensemble_filter_dict = {}
     for el in ensembles:
         split_info = el.split("Ensemble ")[-1].split(" is ")
+
         if len(split_info) > 1:
-            ensemble_dict[int(split_info[0])] = split_info[-1]
+            if not split_info[0].startswith('filter'):
+                ensemble_dict[int(split_info[0])] = split_info[-1]
+            else:
+                filter_no = int(split_info[0].replace('filter ', ''))
+                ensemble_filter_dict[filter_no] = split_info[-1]
+
     version_info_dict["ensembles"] = ensemble_dict if ensemble_dict else None
+    version_info_dict["ensemble_filters"] = ensemble_filter_dict if ensemble_filter_dict else None
 
     ##########################
     # macros:
diff --git a/binarycpython/utils/grid.py b/binarycpython/utils/grid.py
index 3d9f23a532ca2e2db864a36ecdbca838d6d3763d..e30ee9c39f9a09245d37d1491f5f594995ab4e7d 100644
--- a/binarycpython/utils/grid.py
+++ b/binarycpython/utils/grid.py
@@ -1118,6 +1118,7 @@ class Population:
             # print("thread {}: persistent_data_memaddr: ".format(self.process_ID), persistent_data_memaddr)
 
         # Get results binary_c
+        # print("running: {}".format(binary_cmdline_string))
         out = _binary_c_bindings.run_system(
             argstring=binary_cmdline_string,
             custom_logging_func_memaddr=self.grid_options[