diff --git a/binarycpython/utils/grid.py b/binarycpython/utils/grid.py
index c21dc44861fea15032ce49f182ad32207e438068..fe4258c62286154dac4353d32b0eda0ebf81dda0 100644
--- a/binarycpython/utils/grid.py
+++ b/binarycpython/utils/grid.py
@@ -374,7 +374,7 @@ class Population(
 
         # get the cmd-line args in the form x=y
         cmdline_args = sys.argv[1:]
-
+        
         if cmdline_args:
             self.verbose_print(
                 "Found cmdline args. Parsing them now",
@@ -385,7 +385,7 @@ class Population(
             # Grab the input and split them up, while accepting only non-empty entries
             # cmdline_args = args
             self.grid_options["_commandline_input"] = cmdline_args
-
+            
             # Make dict and fill it
             cmdline_dict = {}
             for cmdline_arg in cmdline_args:
@@ -401,14 +401,19 @@ class Population(
                         old_value = self.grid_options[parameter]
                         old_value_found = True
 
-                    elif parameter in self.defaults:
-                        old_value = self.defaults[parameter]
-                        old_value_found = True
-
                     elif parameter in self.custom_options:
                         old_value = self.custom_options[parameter]
                         old_value_found = True
 
+                    elif parameter in self.bse_options:
+                        old_value = self.bse_options[parameter]
+                        old_value_found = True
+
+                    elif parameter in self.defaults:
+                        # this will revert to a string type, always
+                        old_value = self.defaults[parameter]
+                        old_value_found = True
+
                     # (attempt to) convert type
                     if old_value_found:
                         if old_value is not None:
@@ -1986,6 +1991,7 @@ class Population(
                     self.grid_options["verbosity"],
                     0,
                 )
+                print("BSE",self.bse_options)
                 raise ValueError
 
             if not any(
diff --git a/binarycpython/utils/population_extensions/spacing_functions.py b/binarycpython/utils/population_extensions/spacing_functions.py
index 242fe7c0ecfd7e1542d51486b95818237843a65d..36edd02e41f009195db45af17274ab93cfbde615 100644
--- a/binarycpython/utils/population_extensions/spacing_functions.py
+++ b/binarycpython/utils/population_extensions/spacing_functions.py
@@ -20,7 +20,7 @@ import numpy as np
 import cachetools
 import diskcache
 
-# from binarycpython.utils.grid import Population
+
 
 import py_rinterpolate
 
@@ -345,13 +345,14 @@ class spacing_functions:
                 return func(*args, **kwargs)
 
             return wrapped
-
-        if cache:
+                
+        if cache is not None:
             __decorator = cache.memoize
         else:
             __decorator = __dummy_decorator
 
-        @__decorator
+        #@cache.memoize()    
+        @__decorator() # note: () works with python3.9+, maybe not for 3.8
         def _const_dt(
             cachedir=None,
             num_cores=None,
@@ -392,6 +393,7 @@ class spacing_functions:
             if max_evolution_time:
                 bse_options["max_evolution_time"] = max_evolution_time
 
+            from binarycpython.utils.grid import Population
             lifetime_population = Population()
             lifetime_population.bse_options = bse_options