diff --git a/bins/inbreeding/README.md b/bins/inbreeding/README.md
index 1b27f8c034d76eee5c04e55a9bdaa3a12b623d34..208f0e314c25b664c9bcd63fddbc526081800339 100644
--- a/bins/inbreeding/README.md
+++ b/bins/inbreeding/README.md
@@ -37,5 +37,5 @@ inbreeding run --options $OPTS --prng-seed $PRNG_SEED
 ```
 ```bash
 let experiment = $"($PRNG_SEED)-($OPTS.environment)-($OPTS.k)-($OPTS.n)-($OPTS.nb_bytes)"
-inbreeding load $experiment | inbreeding plot --options { k: $OPTS.k }
+inbreeding load $experiment | inbreeding plot
 ```
diff --git a/bins/inbreeding/load.nu b/bins/inbreeding/load.nu
index 3896ff4dbf562d922479131ec7be4ca521371807..c14284c1906ae6d9e20115ffbc576558b7d43e66 100644
--- a/bins/inbreeding/load.nu
+++ b/bins/inbreeding/load.nu
@@ -18,8 +18,18 @@ def get-experiments []: nothing -> list<string> {
 
 export def main [
     experiment: string@get-experiments,
-]: nothing -> table<strategy: string, diversity: table<x: int, y: float, e: float>> {
-    let exp = $experiment | parse --regex $consts.ARG_EXPERIMENT_FORMAT | into record
+]: [
+    nothing -> record<
+        experiment: record<k: int, n: int, nb_bytes: int, env: string>,
+        measurements: table<strategy: string, diversity: table<x: int, y: float, e: float>>,
+    >
+] {
+    let exp = $experiment
+        | parse --regex $consts.ARG_EXPERIMENT_FORMAT
+        | into record
+        | into int k
+        | into int n
+        | into int nb_bytes
     if $exp == {} {
         error throw {
             err: "invalid experiment",
@@ -45,7 +55,7 @@ export def main [
         }
     }
 
-    $experiment_files
+    let measurements = $experiment_files
         | select name
         | insert . { get name | remove-cache-prefix | parse --regex $consts.EXPERIMENT_FORMAT }
         | flatten --all
@@ -71,4 +81,14 @@ export def main [
             $d | skip 1 | reduce --fold $d.0 {|it, acc| $acc | append $it}
         }
         | rename --column { group: "strategy", items: "diversity" }
+
+    {
+        experiment: {
+            env: $exp.env,
+            k: $exp.k,
+            n: $exp.n,
+            nb_bytes: $exp.nb_bytes,
+        },
+        measurements: $measurements,
+    }
 }
diff --git a/bins/inbreeding/plot.nu b/bins/inbreeding/plot.nu
index abb10a2428c731d74974cc386cc65aaf8cc0affc..6b26713120c42a4f1a29c425f362e7761808f3da 100644
--- a/bins/inbreeding/plot.nu
+++ b/bins/inbreeding/plot.nu
@@ -40,14 +40,16 @@ def get-color []: int -> string {
     }
 }
 
-export def main [
-    --save: path,
-    --options: record<k: int>
-]: table<strategy: string, diversity: table<x: int, y: float, e: float>> -> nothing {
-    let data = $in
-    let l = $data.diversity.0 | length
+export def main [ --save: path ]: [
+    record<
+        experiment: record<k: int, n: int, nb_bytes: int, env: string>,
+        measurements: table<strategy: string, diversity: table<x: int, y: float, e: float>>,
+    > -> nothing
+] {
+    let experiment = $in
+    let l = $experiment.measurements.diversity.0 | length
 
-    $data
+    $experiment.measurements
         | update strategy { parse strategy }
         | insert sort {|it|
             match $it.strategy.type {
@@ -61,10 +63,10 @@ export def main [
         | insert name {|it|
             match $it.strategy.type {
                 "single" => {
-                    let sigma = if $it.strategy.n == $options.k {
+                    let sigma = if $it.strategy.n == $experiment.experiment.k {
                         "k"
                     } else {
-                        $"k - ($options.k - $it.strategy.n)"
+                        $"k - ($experiment.experiment.k - $it.strategy.n)"
                     }
                     $"$\\sigma = ($sigma) = ($it.strategy.n)$"
                 }