diff --git a/preprocess/generator.py b/preprocess/generator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cdaf1c928c72fa73dcf9b3ed57e7936933737c81
--- /dev/null
+++ b/preprocess/generator.py
@@ -0,0 +1,23 @@
+#!/usr/bin/env python
+
+import argparse
+
+def parser():
+    parser = argparse.ArgumentParser(description="Preprocessor")
+    parser.add_argument("--machine", type=str, help="Machine Name")
+    parser.add_argument("--output", type=str, help="Output file")
+    return parser
+
+
+if __name__ == "__main__":
+    args = parser().parse_args()
+    with open(args.output, "w") as f:
+        if args.machine == "jurecadc":
+            f.write("24")
+        elif args.machine == "jedi": 
+            f.write("12")
+        else:
+            raise ValueError("Unknown machine")
+        
+            
+    
\ No newline at end of file
diff --git a/simple.yml b/simple.yml
index 543f598338e5af2548d0dcb19639d6fe39e437d1..89e282b51e5d6f6bd7a4f9e1c66fe8f4988219cc 100644
--- a/simple.yml
+++ b/simple.yml
@@ -15,6 +15,8 @@ outpath: /dev/null
 fileset:
   - name: auxsource
     copy: src
+  - name: preprocess_data
+    copy: preprocess
 
 parameterset:
   - name: systemInfo
@@ -50,10 +52,18 @@ parameterset:
       - name: executable
         _: "python"
       - name: args_exec
-        _: "src/value.py ${input_value}"
+        _: "src/value.py --number ${input_value} --input codegen/genparam"
 
 step:
+  - name: codegen
+    use:
+      - preprocess_data
+      - systemInfo
+    do:
+      - module load GCC Python
+      - python preprocess/generator.py --machine ${system_name} --output genparam
   - name: execute
+    depend: codegen
     use: 
       - benchParam
       - systemInfo
diff --git a/src/value.py b/src/value.py
index 7a685d18af2b0677221e95d125aae7193924a0a8..68e3dcab0a066e765d75cba6a03b51e1f2de026f 100644
--- a/src/value.py
+++ b/src/value.py
@@ -5,10 +5,14 @@ import random
 
 def parser():
     parser = argparse.ArgumentParser(description="Value of a number")
-    parser.add_argument("number", type=int, help="Number to use for multiplication")
+    parser.add_argument("--number", type=int, help="Number to use for multiplication")
+    parser.add_argument("--input", type=str, help="Input file")
     return parser
 
 if __name__ == "__main__":
     args = parser().parse_args()
-    string = " " * random.randint(1, 10)
-    print("Runtime={}{}".format(string,float(args.number)*12))
+    with open(args.input, "r") as f:
+        data = f.read()
+        runtime = float(data) * float(args.number) * 12
+        string = " " * random.randint(1, 10)
+        print("Runtime={}{}".format(string,runtime))