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 a77abd8c3c216a4b712cb1d215abf53c97f6dcd0..5a5d8ec6874b89febc21df5fc936e8b8b932442d 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[