diff --git a/binarycpython/utils/useful_funcs.py b/binarycpython/utils/useful_funcs.py
index 2b3b5001246f2fae36774d189df158aa3971bf1a..2fd50441b5bfd46f2dff2309234351f4cf85c2a2 100644
--- a/binarycpython/utils/useful_funcs.py
+++ b/binarycpython/utils/useful_funcs.py
@@ -16,12 +16,75 @@ Tasks:
 """
 
 import math
+import re
 from typing import Union
 
+from binarycpython import _binary_c_bindings
+from binarycpython.utils.functions import create_arg_string
+
 AURSUN = 2.150445198804013386961742071435e02
 YEARDY = 3.651995478818308811241877265275e02
 
 
+
+
+def minimum_period_for_RLOF(M1, M2, metallicity, store_memaddr=-1):
+    """
+    Wrapper function for _binary_c_bindings.return_minimum_orbit_for_RLOF
+
+    Handles the output and returns the minimum orbital period at which RLOF just does not occur at zams
+
+    Args:
+        M1: Primary mass in solar mass
+        M2: Secondary mass in solar mass
+        metallicity: metallicity
+        store_memaddr (optional): store memory adress
+    Returns:
+        minimum orbital_period that just does not cause a RLOF at ZAMS
+
+    """
+
+    bse_dict = {"M_1": M1, "M_2": M2, "metallicity": metallicity, "minimum_orbital_period_for_instant_RLOF": 1, "minimum_separation_for_instant_RLOF": 1}
+
+    argstring = "binary_c " + create_arg_string(bse_dict)
+
+    output = _binary_c_bindings.return_minimum_orbit_for_RLOF(argstring, store_memaddr)
+
+    minimum_period = float(re.search('MINIMUM PERIOD (.*)', output).group(1))
+
+    return minimum_period
+
+print(minimum_period_for_RLOF(10, 5, 0.02))
+
+def minimum_separation_for_RLOF(M1, M2, metallicity, store_memaddr=-1):
+    """
+    Wrapper function for _binary_c_bindings.return_minimum_orbit_for_RLOF
+
+    Handles the output and returns the minimum separation at which RLOF just does not occur at ZAMS
+
+    Args:
+        M1: Primary mass in solar mass
+        M2: Secondary mass in solar mass
+        metallicity: metallicity
+        store_memaddr (optional): store memory adress
+    Returns:
+        minimum separation that just does not cause a RLOF at ZAMS
+
+    """
+
+    bse_dict = {"M_1": M1, "M_2": M2, "metallicity": metallicity, "minimum_orbital_period_for_instant_RLOF": 1, "minimum_separation_for_instant_RLOF": 1}
+
+    argstring = "binary_c " + create_arg_string(bse_dict)
+
+    output = _binary_c_bindings.return_minimum_orbit_for_RLOF(argstring, store_memaddr)
+
+    minimum_separation = float(re.search('MINIMUM SEPARATION (.*)', output).group(1))
+
+    return minimum_separation
+# print(minimum_separation_for_RLOF(10, 5, 0.02))
+
+
+
 def calc_period_from_sep(
     M1: Union[int, float], M2: Union[int, float], sep: Union[int, float]
 ) -> Union[int, float]: