diff --git a/cbutil/processing_functions.py b/cbutil/processing_functions.py
index 8505e1f6af55f66bd6485822e2aac62c0f80b4d7..ddca8cfd25c801dcea9406ca28e87be85a2b6391 100644
--- a/cbutil/processing_functions.py
+++ b/cbutil/processing_functions.py
@@ -8,3 +8,22 @@ def mesa_pd_text(line: str):
         return m.group(1), float(m.group(2))
 
     raise ValueError()
+
+
+def fe2ti_parse_complete_timing(line: str) -> dict:
+    if not line.startswith("Abs"):
+        raise ValueError()
+    pattern = r'([A-Za-z][A-Za-z _]+):\s*(\d+\.\d+)s\s*'
+    return {name: float(value) for name, value in re.findall(pattern, line)}
+
+
+def fe2ti_intermediate(line: str) -> dict:
+    pattern_step_info = r'([A-Za-z_]+)\s+(\d+)\s*'
+    step_info = {name: cnt for name, cnt in re.findall(pattern_step_info, line)}
+    if not step_info:
+        raise ValueError("Empty Step Info")
+    pattern_fields = r'\s*([A-za-z_|0-9]+):\s*((\d+\.\d+e-\d+)|(\d+\.\d+)|(\d+))s?\s*'
+    fields = {name: float(value) for name, value, *_ in re.findall(pattern_fields, line)}
+    if not fields:
+        raise ValueError("Empty fields")
+    return {'step_info': step_info, 'fields': fields}
diff --git a/tests/fe2ti216_bddc_0_1_80_8_1e-8.log b/tests/fe2ti216_bddc_0_1_80_8_1e-8.log
new file mode 100644
index 0000000000000000000000000000000000000000..f4aeb96a55109e98da8e1c4f0d466feeb55fde31
--- /dev/null
+++ b/tests/fe2ti216_bddc_0_1_80_8_1e-8.log
@@ -0,0 +1,46 @@
+
+ Zeit bis CP: 2.881715e-04 
+ Zeit für CPable: 3.083187e-08 
+ Zeit für CP1: 2.416709e-08 
+ Zeit für CP2: 2.333400e-08 
+ Zeit für CP3: 3.750029e-08 
+ Zeit bis PetscInit: 8.168460e-02 
+
+ load_step 00 lll_pen 00 Newton_load 01 Newton_gesamt 01   micro_solve:  46.87s Comm_for_couple: 0.03s  Time_for_EV: 0.00s  Macro_Solve:  0.52s  Assembly_Macro:  0.52s  KSP_Macro:  0.00s   VecConvert:  0.00s  iter_macro: 01  Micro_HDF5:  0.00s  Comp_W: 0.00s  Ass_Maj: 0.00s  Comm_FLC: 0.00s  FLC_Comp: 0.00s  Ausw_Norm: 0.00s  TimeDest: 0.00  DestBDDC: 0.00  SendBDDC: 0.00  CreateArrBDDC: 0.00 BDDC_Part: 0.00s  PartAss: 0.00s  PartKSP: 0.00s  PartConv: 0.00s  TimeDefo: 0.00s  TimeInt: 0.00s  ||delta_u||: 3.054712e-04 
+
+ FLC: 2.9849864544e-04   -3.9222510640e-05 
+
+ Minimale Dicke: 9.999220e-01 
+
+ load_step 00 lll_pen 00 Newton_load 02 Newton_gesamt 02   micro_solve:  36.52s Comm_for_couple: 0.01s  Time_for_EV: 0.00s  Macro_Solve:  0.65s  Assembly_Macro:  0.63s  KSP_Macro:  0.00s   VecConvert:  0.00s  iter_macro: 01  Micro_HDF5:  0.00s  Comp_W: 0.01s  Ass_Maj: 0.00s  Comm_FLC: 0.00s  FLC_Comp: 0.00s  Ausw_Norm: 0.00s  TimeDest: 0.00  DestBDDC: 0.00  SendBDDC: 0.00  CreateArrBDDC: 0.00 BDDC_Part: 0.00s  PartAss: 0.00s  PartKSP: 0.00s  PartConv: 0.00s  TimeDefo: 0.00s  TimeInt: 0.00s  ||delta_u||: 2.521526e-08 
+
+ 2.500000e-04   0.000000e+00   0.000000e+00   0.000000e+00 
+
+ load_step 01 lll_pen 00 Newton_load 01 Newton_gesamt 03   micro_solve:  35.47s Comm_for_couple: 0.01s  Time_for_EV: 0.00s  Macro_Solve:  0.58s  Assembly_Macro:  0.57s  KSP_Macro:  0.00s   VecConvert:  0.00s  iter_macro: 01  Micro_HDF5:  0.00s  Comp_W: 0.00s  Ass_Maj: 0.00s  Comm_FLC: 0.00s  FLC_Comp: 0.00s  Ausw_Norm: 0.00s  TimeDest: 0.00  DestBDDC: 0.00  SendBDDC: 0.00  CreateArrBDDC: 0.00 BDDC_Part: 0.00s  PartAss: 0.00s  PartKSP: 0.00s  PartConv: 0.00s  TimeDefo: 0.00s  TimeInt: 0.00s  ||delta_u||: 3.032566e-04 
+
+ FLC: 5.9697701501e-04   -7.8428912665e-05 
+
+ Minimale Dicke: 9.998440e-01 
+
+ load_step 01 lll_pen 00 Newton_load 02 Newton_gesamt 04   micro_solve:  36.54s Comm_for_couple: 0.01s  Time_for_EV: 0.00s  Macro_Solve:  0.59s  Assembly_Macro:  0.57s  KSP_Macro:  0.00s   VecConvert:  0.00s  iter_macro: 01  Micro_HDF5:  0.00s  Comp_W: 0.00s  Ass_Maj: 0.00s  Comm_FLC: 0.00s  FLC_Comp: 0.00s  Ausw_Norm: 0.00s  TimeDest: 0.00  DestBDDC: 0.00  SendBDDC: 0.00  CreateArrBDDC: 0.00 BDDC_Part: 0.00s  PartAss: 0.00s  PartKSP: 0.00s  PartConv: 0.00s  TimeDefo: 0.00s  TimeInt: 0.00s  ||delta_u||: 3.159300e-08 
+
+ 2.500000e-04   0.000000e+00   0.000000e+00   0.000000e+00 
+
+ Gewünschte Eindringung erreicht! 
+ Zeit fuer finalen Checkpoint: 0.00s 
+
+ Absolut_gesamt: 158.93s  Time to solution:  158.85s Create Macro Problem:  0.02s Comm_dup_etc: 0.08s 
+
+ Zusammenfassung CRAFT: 
+ Load Checkpoint Macro: 0.00s 
+ Load Checkpoint Micro: 0.00s 
+ Load gesamt: 0.00s 
+ Write Checkpoint Macro gesamt: 0.00s 
+ Write Chechkpoint Micro gesamt: 0.00s 
+ Write Checkpoint Final gesamt: 0.00s 
+ Gesamtzeit Write Checkpoints: 0.00s 
+ Gesamtzeit CRAFT (Load + Write): 0.00s 
+
+ Die Summe ist 1 
+
+ Test A 
diff --git a/tests/test_string_process.py b/tests/test_string_process.py
index cd43254a1fd6cc40f6aede48163b8326df3649cc..32d3d31a71a9555eed99948a0ec017cd046a69d0 100644
--- a/tests/test_string_process.py
+++ b/tests/test_string_process.py
@@ -1,7 +1,9 @@
 from cbutil.postprocessing import process_linewise
-from cbutil.processing_functions import mesa_pd_text
+from cbutil.processing_functions import mesa_pd_text, fe2ti_parse_complete_timing, fe2ti_intermediate
 from cbutil.util import read_file_line_wise
 
+import pytest
+
 
 def id(x):
     return x
@@ -38,3 +40,71 @@ def test_mesa_pd():
 
     for key, value in process_linewise(mesa_pd_text, read_file_line_wise(mesa_pd_example_output)):
         assert value == expected[key]
+
+
+TEST_STR_TOTAL = "Absolut_gesamt: 49.09s  Time to solution:  48.95s Create Macro Problem:  0.02s Comm_dup_etc: 0.05s"
+TEST_STR_INTERMEDIATE = "load_step 00 lll_pen 00 Newton_load 01 Newton_gesamt 01   micro_solve:  15.61s Comm_for_couple: 0.02s  Time_for_EV: 0.00s  Macro_Solve:  0.56s  Assembly_Macro:  0.55s  KSP_Macro:  0.00s   VecConvert:  0.00s  iter_macro: 01  Micro_HDF5:  0.00s  Comp_W: 0.00s  Ass_Maj: 0.00s  Comm_FLC: 0.00s  FLC_Comp: 0.00s  Ausw_Norm: 0.00s  TimeDest: 0.00  DestBDDC: 0.00  SendBDDC: 0.00  CreateArrBDDC: 0.00 BDDC_Part: 0.00s  PartAss: 0.00s  PartKSP: 0.00s  PartConv: 0.00s  TimeDefo: 0.01s  TimeInt: 0.00s  ||delta_u||: 3.054712e-04"
+
+
+def test_fe2ti():
+    expected = {
+        "Absolut_gesamt": 49.09,
+        "Time to solution":  48.95,
+        "Create Macro Problem":  0.02,
+        "Comm_dup_etc": 0.05,
+
+    }
+    assert fe2ti_parse_complete_timing(TEST_STR_TOTAL) == expected
+    with pytest.raises(ValueError):
+        fe2ti_parse_complete_timing(TEST_STR_INTERMEDIATE)
+
+
+def test_fe2ti_intermedate():
+    expected = {
+        "step_info": {
+            "load_step": "00",
+            "lll_pen": "00",
+            "Newton_load": "01",
+            "Newton_gesamt": "01",
+        },
+        "fields": {
+            "micro_solve":  15.61,
+            "Comm_for_couple": 0.02,
+            "Time_for_EV": 0.00,
+            "Macro_Solve":  0.56,
+            "Assembly_Macro":  0.55,
+            "KSP_Macro":  0.00,
+            "VecConvert":  0.00,
+            "iter_macro": 1.0,
+            "Micro_HDF5":  0.00,
+            "Comp_W": 0.00,
+            "Ass_Maj": 0.00,
+            "Comm_FLC": 0.00,
+            "FLC_Comp": 0.00,
+            "Ausw_Norm": 0.00,
+            "TimeDest": 0.00,
+            "DestBDDC": 0.00,
+            "SendBDDC": 0.00,
+            "CreateArrBDDC": 0.00,
+            "BDDC_Part": 0.00,
+            "PartAss": 0.00,
+            "PartKSP": 0.00,
+            "PartConv": 0.00,
+            "TimeDefo": 0.01,
+            "TimeInt": 0.00,
+            "||delta_u||": 3.054712e-04,
+        },
+    }
+    assert fe2ti_intermediate(TEST_STR_INTERMEDIATE) == expected
+    with pytest.raises(ValueError):
+        fe2ti_intermediate(TEST_STR_TOTAL)
+
+
+def test_fe2ti_log():
+    test_file = "tests/fe2ti216_bddc_0_1_80_8_1e-8.log"
+    assert [*process_linewise(
+        lambda line: fe2ti_parse_complete_timing(line.strip()),
+        read_file_line_wise(test_file))]
+    assert [*process_linewise(
+        lambda line: fe2ti_intermediate(line.strip()),
+        read_file_line_wise(test_file))]