diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/analyze.py b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/analyze.py
deleted file mode 100755
index 142143fa9c6ad2ebfe4bf0fabc02cb554425095e..0000000000000000000000000000000000000000
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/analyze.py
+++ /dev/null
@@ -1,80 +0,0 @@
-import csv
-import numpy as np
-import os
-import sys
-
-# FIXME: Here the first number on each line should have been ignored, this should be fixed in the future
-# NOTE: maybe this file wont be used at all
-
-MAIN_DIR = 'analyzed'
-act_data = []
-act_rtts = []
-COLUMN_NAMES = ["id","avg","std","median","0.75-qtl","0.95-qtl"]
-
-def read_result(name_of_file):
-    del act_data[:]
-    del act_rtts[:]
-    with open(name_of_file) as csv_file:
-        rows = csv.reader(csv_file, delimiter=',')
-        for row in rows:
-            tmp_row = []
-            for value in row:
-                tmp_row.append(value)
-            finite_row = []
-            act_rtts.append(tmp_row.pop(0))
-            for value in tmp_row:
-                finite_row.append(float(value))
-            act_data.append(finite_row)
-    return
-
-def make_dir(name_of_file):
-    if not os.path.exists(MAIN_DIR):
-        os.makedirs(MAIN_DIR)
-    subdir_index = name_of_file.rfind('/')
-    if subdir_index == -1:
-            directory = MAIN_DIR
-    else:
-            directory = '{}/{}'.format(MAIN_DIR, name_of_file[:subdir_index])
-    if not os.path.exists(directory):
-            os.makedirs(directory)
-    return '{}/{}'.format(MAIN_DIR, name_of_file)
-
-def setup(name_of_file):
-    read_result(name_of_file)
-    return make_dir(name_of_file)
-
-def calculate_qunatiles(data):
-    result = []
-    result.append(act_rtts.pop(0))
-    result.append(np.mean(data))
-    result.append(np.std(data))
-    result.append(np.quantile(data, 0.5))
-    result.append(np.quantile(data, .75))
-    result.append(np.quantile(data, .95))
-    return result
-
-# Main
-
-files_to_analyze = []
-
-if len(sys.argv) > 1:
-	for i in range (1, len(sys.argv)):
-		dirPath = sys.argv[i]
-		secLevels = [d for d in os.listdir(dirPath) if os.path.isdir(os.path.join(dirPath, d))]
-		print(secLevels)
-		for j in range (0, len(secLevels)):
-			subdirPath = dirPath + "/" + secLevels[j]
-			for f in os.listdir(subdirPath):
-				files_to_analyze.append(subdirPath + "/" + f)
-	for file in files_to_analyze:
-		print(file)
-else:
-        sys.exit("Error: No handed filename - Please add name of the file that should be analyzed while calling this script")
-
-for file in files_to_analyze:
-        filepath = setup(file)
-        with open(filepath,'a') as out:
-                csv_out = csv.writer(out)
-                csv_out.writerow(COLUMN_NAMES)
-                for row in act_data:
-                        csv_out.writerow(calculate_qunatiles(row))
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/analyze_packets.py b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/analyze_packets.py
index f7e92b694c07e1f0ef1e094f6cc895bc10dfa04f..d376c2631100f7bcf1df09d04464795dcadbd7b0 100644
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/analyze_packets.py
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/analyze_packets.py
@@ -4,7 +4,7 @@ import numpy as np
 import pandas as pd
 import pyshark
 
-import helper_functions
+import helper_scripts.helper_functions as helper_functions
 
 # NOTE there is also a packet called scapy which might work
 
@@ -195,8 +195,8 @@ def get_packets_sent_by_node(udp_packets_df):
         ]
     )
 
+    # print(df.info())
     print(df)
-    print(df.info())
 
 
 def analyze_udp_packets(kem_id_df):
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/experiment.py b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/experiment.py
index 2a97422980ecea1dd4c146ca23d0b73eba6aa0ae..6f952f95b8ce155c53152b6cf33bef1765c0b9bc 100755
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/experiment.py
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/experiment.py
@@ -1,7 +1,6 @@
 #!/usr/bin/env python
 
-from multiprocessing import Pool
-import networkmgmt
+import multiprocessing as mp
 import os
 import subprocess
 import sys
@@ -9,10 +8,16 @@ import sys
 import csv
 import pandas as pd
 
+# POOL_SIZE is the parallelism level. There should be the same amount of cores or more on your CPU.
+POOL_SIZE = 4
+# There must be the same amount of network namespaces with each an nginx running as NETWORK_NAMESPACES.
+# The amount of network namespaces should be at least POOL_SIZE. The amount is specified by setup.sh's first argument.
+NETWORK_NAMESPACES = 4
+# Ensure that TIMERS * MEASUREMENTS_PER_TIMER is at least 200 to get a good results.
+# TIMERS should be a multiple of POOL_SIZE. Best is to have TIMERS = POOL_SIZE.
+TIMERS = 4
+MEASUREMENTS_PER_TIMER = 50
 
-POOL_SIZE = 7
-MEASUREMENTS_PER_TIMER = 20
-TIMERS = 10
 
 PROTOCOLS_TO_BENCH = ["quic", "tlstcp"]
 DEFAULT_SCENARIO_TO_BENCH = "testscenarios/scenario_static.csv"
@@ -23,13 +28,22 @@ QUIC_S_TIMER = "./quic_s_timer"
 LD_LIBRARY_PATH = "../tmp/.local/openssl/lib64"
 
 SRV_NS = "srv_ns"
-SRV_VE = "srv_ve"
 CLI_NS = "cli_ns"
+SRV_VE = "srv_ve"
 CLI_VE = "cli_ve"
 
 
 def main():
-    timer_pool = Pool(processes=POOL_SIZE)
+    shared_condition = mp.Condition()
+    shared_array = mp.Array("b", [False] * NETWORK_NAMESPACES)
+    timer_pool = mp.Pool(
+        processes=POOL_SIZE,
+        initializer=init_worker,
+        initargs=(
+            shared_condition,
+            shared_array,
+        ),
+    )
     scenariofiles = parse_scenariofiles_to_bench()
     algorithms_to_bench_dict = read_algorithms()
 
@@ -42,28 +56,7 @@ def main():
 
             for _, parameters in scenarios.iterrows():
                 # set network parameters of scenario
-                networkmgmt.change_qdisc(
-                    SRV_NS,
-                    SRV_VE,
-                    parameters["srv_pkt_loss"],
-                    parameters["srv_delay"],
-                    parameters["srv_jitter"],
-                    parameters["srv_duplicate"],
-                    parameters["srv_corrupt"],
-                    parameters["srv_reorder"],
-                    parameters["srv_rate"],
-                )
-                networkmgmt.change_qdisc(
-                    CLI_NS,
-                    CLI_VE,
-                    parameters["cli_pkt_loss"],
-                    parameters["cli_delay"],
-                    parameters["cli_jitter"],
-                    parameters["cli_duplicate"],
-                    parameters["cli_corrupt"],
-                    parameters["cli_reorder"],
-                    parameters["cli_rate"],
-                )
+                set_network_parameters(parameters)
 
                 for algorithm_class, algorithms in algorithms_to_bench_dict.items():
                     for kem_alg in algorithms:
@@ -86,6 +79,14 @@ def main():
     timer_pool.join()
 
 
+# This function declares the global variables namespace_condition and acquired_network_namespaces so they can be used by the pool subprocesses.
+def init_worker(condition, shared_array):
+    global namespace_condition
+    global acquired_network_namespaces
+    namespace_condition = condition
+    acquired_network_namespaces = shared_array
+
+
 def parse_scenariofiles_to_bench():
     scenariofiles = []
     # Check for handed scenarios
@@ -111,6 +112,68 @@ def make_dirs(testscenario_name, protocol, algorithms_to_bench_dict):
         )
 
 
+def set_network_parameters(parameters):
+    for i in range(1, NETWORK_NAMESPACES + 1):
+        change_qdisc(
+            f"{SRV_NS}_{i}",
+            SRV_VE,
+            parameters["srv_rate"],
+            parameters["srv_delay"],
+            parameters["srv_jitter"],
+            parameters["srv_pkt_loss"],
+            parameters["srv_duplicate"],
+            parameters["srv_corrupt"],
+            parameters["srv_reorder"],
+        )
+        change_qdisc(
+            f"{CLI_NS}_{i}",
+            CLI_VE,
+            parameters["cli_rate"],
+            parameters["cli_delay"],
+            parameters["cli_jitter"],
+            parameters["cli_pkt_loss"],
+            parameters["cli_duplicate"],
+            parameters["cli_corrupt"],
+            parameters["cli_reorder"],
+        )
+
+
+# TODO maybe add slot configuration for WLAN emulation
+def change_qdisc(ns, dev, rate, delay, jitter, pkt_loss, duplicate, corrupt, reorder):
+    command = [
+        "ip",
+        "netns",
+        "exec",
+        ns,
+        "tc",
+        "qdisc",
+        "change",
+        "dev",
+        dev,
+        "root",
+        "netem",
+        # limit 1000 is the default value for the number of packets that can be queued
+        "limit",
+        "1000",
+        "rate",
+        f"{rate}mbit",
+        "delay",
+        f"{delay}ms",
+        f"{jitter}ms",
+        "loss",
+        f"{pkt_loss}%",
+        "duplicate",
+        f"{duplicate}%",
+        "corrupt",
+        f"{corrupt}%",
+        "reorder",
+        f"{reorder}%",
+    ]
+
+    print(" > " + " ".join(command))
+    run_subprocess(command)
+
+
 def run_timers(timer_pool, protocol, kem_alg):
     results_nested = timer_pool.starmap(
         time_handshake, [(protocol, kem_alg, MEASUREMENTS_PER_TIMER)] * TIMERS
@@ -120,12 +183,29 @@ def run_timers(timer_pool, protocol, kem_alg):
 
 # do TLS handshake (s_timer.c)
 def time_handshake(protocol, kem_alg, measurements) -> list[float]:
+    def aquire_network_namespace():
+        with namespace_condition:
+            while True:
+                for i in range(1, len(acquired_network_namespaces) + 1):
+                    if not acquired_network_namespaces[i - 1]:
+                        acquired_network_namespaces[i - 1] = True
+                        return i
+                # make this process sleep until another wakes him up
+                namespace_condition.wait()
+
+    def release_network_namespace(i):
+        with namespace_condition:
+            acquired_network_namespaces[i - 1] = False
+            # wake another process that is sleeping
+            namespace_condition.notify()
+
+    network_namespace = aquire_network_namespace()
     program = QUIC_S_TIMER if protocol == "quic" else S_TIMER
     command = [
         "ip",
         "netns",
         "exec",
-        "cli_ns",
+        f"{CLI_NS}_{network_namespace}",
         "env",
         f"LD_LIBRARY_PATH={LD_LIBRARY_PATH}",
         program,
@@ -133,6 +213,7 @@ def time_handshake(protocol, kem_alg, measurements) -> list[float]:
         str(measurements),
     ]
     result = run_subprocess(command)
+    release_network_namespace(network_namespace)
     return [float(i) for i in result.strip().split(",")]
 
 
@@ -149,36 +230,47 @@ def run_subprocess(command, working_dir=".", expected_returncode=0) -> str:
     return result.stdout.decode("utf-8")
 
 
-# TODO think about what to do with this rtt calculation
+# TODO think about what to do with this rtt calculation, maybe just delete
 # maybe put it below the setting of the network parameters and save to a different file
 # To get actual (emulated) RTT
 def get_emulated_rtt(scenarios):
-    networkmgmt.change_qdisc(
+    change_qdisc(
         SRV_NS,
         SRV_VE,
-        0,
+        scenarios.iloc[0]["srv_rate"],
         scenarios.iloc[0]["srv_delay"],
         0,
         0,
         0,
         0,
-        scenarios.iloc[0]["srv_rate"],
+        0,
     )
-    networkmgmt.change_qdisc(
+    change_qdisc(
         CLI_NS,
         CLI_VE,
-        0,
+        scenarios.iloc[0]["cli_rate"],
         scenarios.iloc[0]["cli_delay"],
         0,
         0,
         0,
         0,
-        scenarios.iloc[0]["cli_rate"],
+        0,
     )
-    rtt_str = networkmgmt.get_rtt_ms()
+    rtt_str = get_rtt_ms()
     print(
         f"Emulated average RTT: {rtt_str} ms",
     )
 
 
+def get_rtt_ms():
+    command = ["ip", "netns", "exec", "cli_ns", "ping", "10.0.0.1", "-c", "10"]
+
+    print(" > " + " ".join(command))
+    result = run_subprocess(command)
+
+    # last line is "rtt min/avg/max/mdev = 5.978/6.107/6.277/0.093 ms"
+    result_fmt = result.splitlines()[-1].split("/")
+    return result_fmt[4]
+
+
 main()
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/fun.py b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/fun.py
index 61b9296fc22d35b6dc2323e4773143926ee297e8..1d203fc11e25a8f412e1a516014dfe7da1cabed3 100644
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/fun.py
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/fun.py
@@ -1,4 +1,6 @@
+import multiprocessing as mp
 import os
+import time
 
 import pandas as pd
 import numpy as np
@@ -6,8 +8,73 @@ import yaml
 
 
 def main():
-    sort_kem_alg_via_categories_type()
-    # get_kem_characteristics()
+    # sort_kem_alg_via_categories_type()
+    tryout_pool_with_shared_array()
+
+
+def init_worker(condition, shared_array):
+    global namespace_condition
+    global acquired_network_namespaces
+    namespace_condition = condition
+    acquired_network_namespaces = shared_array
+
+
+def work(id, protocol, kem_alg, n_measurements):
+    def aquire_network_namespace():
+        with namespace_condition:
+            while True:
+                print(
+                    f"{id}: Before acquiring", [i for i in acquired_network_namespaces]
+                )
+                for i in range(1, len(acquired_network_namespaces) + 1):
+                    if not acquired_network_namespaces[i - 1]:
+                        acquired_network_namespaces[i - 1] = True
+                        print(f"{id}: Acquired network namespace {i}")
+                        print(
+                            f"{id}: After acquiring",
+                            [i for i in acquired_network_namespaces],
+                        )
+                        return i
+                # make this process sleep until another wakes him up
+                namespace_condition.wait()
+
+    def release_network_namespace(i):
+        with namespace_condition:
+            print(f"{id}: Before releasing", [i for i in acquired_network_namespaces])
+            acquired_network_namespaces[i - 1] = False
+            print(f"{id}: Released network namespace {i}")
+            print(f"{id}: After releasing", [i for i in acquired_network_namespaces])
+            # wake another processes that are sleeping
+            namespace_condition.notify()
+
+    network_namespace = aquire_network_namespace()
+
+    print(f"{id}: measuring now", protocol, kem_alg)
+    time.sleep(5)
+
+    release_network_namespace(network_namespace)
+
+    return id, protocol, kem_alg, n_measurements
+
+
+def tryout_pool_with_shared_array():
+    POOL_SIZE = 3
+    NETWORK_NAMESPACES = 2
+
+    condition = mp.Condition()
+    shared_array = mp.Array("b", [False] * NETWORK_NAMESPACES)
+    with mp.Pool(
+        processes=POOL_SIZE,
+        initializer=init_worker,
+        initargs=(
+            condition,
+            shared_array,
+        ),
+    ) as pool:
+        output = pool.starmap(
+            work, [(i, "protocol", "kem_alg", 5) for i in range(1, (POOL_SIZE * 2) + 1)]
+        )
+        print(output)
 
 
 def sort_kem_alg_via_categories_type():
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/generate_graphs.py b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/generate_graphs.py
index f3a26cfebc0b7ebdd666cbe6ea4e6636effafb04..0040c12660813e94778529349c27f3b410e5b5ef 100755
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/generate_graphs.py
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/generate_graphs.py
@@ -498,105 +498,4 @@ def map_security_level_hybrid_together(sec_level: str):
             return None
 
 
-"""secLevel1, secp256r1, x25519, mlkem512, bikel1, hqc128, frodo640aes, frodo640shake
-secLevel1_hybrid, p256_mlkem512, x25519_mlkem512, p256_bikel1, x25519_bikel1, p256_hqc128, x25519_hqc128, p256_frodo640aes, x25519_frodo640aes, p256_frodo640shake, x25519_frodo640shake
-secLevel3, secp384r1, x448, mlkem768, bikel3, hqc192, frodo976aes, frodo976shake
-secLevel3_hybrid, p384_mlkem768, x448_mlkem768, p384_bikel3, x448_bikel3, p384_hqc192, x448_hqc192, p384_frodo976aes, x448_frodo976aes, p384_frodo976shake, x448_frodo976shake
-secLevel5, secp521r1, mlkem1024, bikel5, hqc256, frodo1344aes, frodo1344shake
-secLevel5_hybrid, p521_mlkem1024, p521_bikel5, p521_hqc256, p521_frodo1344aes, p521_frodo1344shake
-miscLevel, x25519_mlkem768, p256_mlkem768, p384_mlkem1024"""
-
-
-# algorithms_in_sorted_order = [
-#     "secp256r1",
-#     "x25519",
-#     "mlkem512",
-#     "bikel1",
-#     "hqc128",
-#     "frodo640aes",
-#     "frodo640shake",
-#     "p256_mlkem512",
-#     "x25519_mlkem512",
-#     "p256_bikel1",
-#     "x25519_bikel1",
-#     "p256_hqc128",
-#     "x25519_hqc128",
-#     "p256_frodo640aes",
-#     "x25519_frodo640aes",
-#     "p256_frodo640shake",
-#     "x25519_frodo640shake",
-#     "secp384r1",
-#     "x448",
-#     "mlkem768",
-#     "bikel3",
-#     "hqc192",
-#     "frodo976aes",
-#     "frodo976shake",
-#     "p384_mlkem768",
-#     "x448_mlkem768",
-#     "p384_bikel3",
-#     "x448_bikel3",
-#     "p384_hqc192",
-#     "x448_hqc192",
-#     "p384_frodo976aes",
-#     "x448_frodo976aes",
-#     "p384_frodo976shake",
-#     "x448_frodo976shake",
-#     "secp521r1",
-#     "mlkem1024",
-#     "bikel5",
-#     "hqc256",
-#     "frodo1344aes",
-#     "frodo1344shake",
-#     "p521_mlkem1024",
-#     "p521_bikel5",
-#     "p521_hqc256",
-#     "p521_frodo1344aes",
-#     "p521_frodo1344shake",
-#     "x25519_mlkem768",
-#     "p256_mlkem768",
-#     "p384_mlkem1024",
-# ]
-
-
-# def sort_kem_algorithms(l, r):
-#     return algorithms_in_sorted_order.index(l) - algorithms_in_sorted_order.index(r)
-
-
-# NOTE thinking i could sort them in an efficient manner was a really bad idea
-"""algorithms_in_sorted_order = ["secp256r1", "p256", "secp384r1", "p384", "secp521r1", "p521", "x25519", "x488", "mlkem512", "bikel1", "hqc128", "frodo640aes", "frodo640shake"]
-# first the algorithms in sorted order like in secLevel1, but when hybrids are compared, fit them in between the algorithms_in_sorted_order, after their respective pqc part
-def sort_kem_algorithms(l, r):
-    print(l, r)
-    if l == r:
-        return 0
-    l_split = l.split("_")
-    r_split = r.split("_")
-    print(l_split, r_split)
-    # if both are pqc algos, compare them
-    if len(l_split) == 1 and len(r_split) == 1:
-        return algorithms_in_sorted_order.index(l) - algorithms_in_sorted_order.index(r)
-
-    # if both are hybrids, first compare the pqc part
-    if len(l_split) == 2 and len(r_split) == 2:
-        if l_split[1] != r_split[1]:
-            return algorithms_in_sorted_order.index(l_split[1]) - algorithms_in_sorted_order.index(r_split[1])
-        return -1 if l_split[0] < r_split[0] else 1
-
-    # if only one is a hybrid, compare the pqc part first
-    # here left is a hybrid
-    if len(l_split) == 2:
-        # if both pqc algos are the same, left is bigger
-        if l_split[1] == r_split[0]:
-            return 1
-        return algorithms_in_sorted_order.index(l_split[1]) - algorithms_in_sorted_order.index(r_split[0])
-
-    # here right is a hybrid
-    if len(r_split) == 2:
-        # if both pqc algos are the same, left is smaller
-        if l_split[0] == r_split[1]:
-            return -1
-        return algorithms_in_sorted_order.index(l_split[0]) - algorithms_in_sorted_order.index(r_split[1])"""
-
-
 main()
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/helper_functions.py b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/helper_scripts/helper_functions.py
similarity index 100%
rename from pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/helper_functions.py
rename to pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/helper_scripts/helper_functions.py
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/helper_scripts/setup_ns.sh b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/helper_scripts/setup_ns.sh
new file mode 100755
index 0000000000000000000000000000000000000000..89f0bea8299af2d79dc4504b8c43e592089da383
--- /dev/null
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/helper_scripts/setup_ns.sh
@@ -0,0 +1,80 @@
+#!/bin/bash
+set -ex
+
+##########################
+# Setup network namespaces
+##########################
+
+# NUMBER_OF_NETWORK_NAMESPACES is set in setup.sh
+echo "Setting up ${NUMBER_OF_NETWORK_NAMESPACES} network namespaces"
+
+# Server
+SERVER_VETH=srv_ve
+SERVER_VETH_LL_ADDR=00:00:00:00:00:01
+
+# Client
+CLIENT_VETH=cli_ve
+CLIENT_VETH_LL_ADDR=00:00:00:00:00:02
+
+for i in $(seq 1 ${NUMBER_OF_NETWORK_NAMESPACES}); do
+    SERVER_NS=srv_ns_${i}
+    CLIENT_NS=cli_ns_${i}
+
+    ip netns add ${SERVER_NS}
+    ip netns add ${CLIENT_NS}
+
+    # Add virtual link of types VETH
+    ip link add \
+        name ${SERVER_VETH} \
+        address ${SERVER_VETH_LL_ADDR} \
+        netns ${SERVER_NS} type veth \
+        peer name ${CLIENT_VETH} \
+        address ${CLIENT_VETH_LL_ADDR} \
+        netns ${CLIENT_NS}
+
+    ip netns exec ${SERVER_NS} \
+        ip link set dev ${SERVER_VETH} up
+    ip netns exec ${SERVER_NS} \
+        ip link set dev lo up
+    ip netns exec ${SERVER_NS} \
+        ip addr add 10.0.0.1/24 dev ${SERVER_VETH}
+
+    ip netns exec ${CLIENT_NS} \
+        ip link set dev ${CLIENT_VETH} up
+    ip netns exec ${CLIENT_NS} \
+        ip link set dev lo up
+    ip netns exec ${CLIENT_NS} \
+        ip addr add 10.0.0.2/24 dev ${CLIENT_VETH}
+
+    # Add neighbour objects for IP connection
+    ip netns exec ${SERVER_NS} \
+        ip neigh add 10.0.0.2 \
+        lladdr ${CLIENT_VETH_LL_ADDR} \
+        dev ${SERVER_VETH}
+    ip netns exec ${CLIENT_NS} \
+        ip neigh add 10.0.0.1 \
+        lladdr ${SERVER_VETH_LL_ADDR} \
+        dev ${CLIENT_VETH}
+
+    # Turn off optimizations that dent realism.
+    ip netns exec ${CLIENT_NS} \
+        ethtool -K ${CLIENT_VETH} gso off gro off tso off
+
+    ip netns exec ${SERVER_NS} \
+        ethtool -K ${SERVER_VETH} gso off gro off tso off
+
+    # Add netem as qdisc for traffic control
+    ip netns exec ${CLIENT_NS} \
+        tc qdisc add \
+        dev ${CLIENT_VETH} \
+        root netem
+    ip netns exec ${SERVER_NS} \
+        tc qdisc add \
+        dev ${SERVER_VETH} \
+        root netem
+done
+
+# $DATE is set by setup.sh
+# Only set up tshark for the first network namespace
+mkdir -p -m 777 captures && touch captures/capture_${DATE}.pcap && chmod a+w captures/capture_${DATE}.pcap
+ip netns exec cli_ns_1 tshark -i ${CLIENT_VETH} -w captures/capture_${DATE}.pcap &
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/networkmgmt.py b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/networkmgmt.py
deleted file mode 100644
index 0125bf7ea7d45dbb8a87bc9576eefa38bb7449ad..0000000000000000000000000000000000000000
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/networkmgmt.py
+++ /dev/null
@@ -1,68 +0,0 @@
-from multiprocessing import Pool
-import os
-import subprocess
-
-# TODO maybe reintegrate this file back into the main experiment.py file
-
-def run_subprocess(command, working_dir='.', expected_returncode=0):
-    result = subprocess.run(
-        command,
-        stdout=subprocess.PIPE,
-        stderr=subprocess.PIPE,
-        cwd=working_dir
-    )
-    if(result.stderr):
-        print(result.stderr)
-    assert result.returncode == expected_returncode
-    return result.stdout.decode('utf-8')
-
-# TODO maybe add slot configuration for WLAN emulation
-def change_qdisc(ns, dev, pkt_loss, delay, jitter, duplicate, corrupt, reorder, rate):
-    command = [
-        'ip', 'netns', 'exec', ns,
-        'tc', 'qdisc', 'change',
-        'dev', dev, 'root', 'netem',
-        'limit', '1000'
-    ]
-
-    if pkt_loss != 0:
-        command.append('loss')
-        command.append('{0}%'.format(pkt_loss))
-
-    if duplicate != 0:
-        command.append('duplicate')
-        command.append('{0}%'.format(duplicate))
-
-    if corrupt != 0:
-        command.append('corrupt')
-        command.append('{0}%'.format(corrupt))
-
-    if reorder != 0:
-        command.append('reorder')
-        command.append('{0}%'.format(reorder))
-
-    command.append('delay')
-    command.append(delay)
-
-    if jitter != 0:
-        command.append(jitter)
-
-    command.append('rate')
-    command.append('{0}mbit'.format(rate))
-
-    print(" > " + " ".join(command))
-    run_subprocess(command)
-
-def get_rtt_ms():
-    command = [
-        'ip', 'netns', 'exec', 'cli_ns',
-        'ping', '10.0.0.1', '-c', '10'
-    ]
-
-    print(" > " + " ".join(command))
-    result = run_subprocess(command)
-
-    # last line is "rtt min/avg/max/mdev = 5.978/6.107/6.277/0.093 ms"
-    result_fmt = result.splitlines()[-1].split("/")
-    return result_fmt[4]
-
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/setup.sh b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/setup.sh
index d033523716a30088fa40d862e2debe16e946601d..6b2c0555d573a8e19317d6a2298af7391c4c3b83 100755
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/setup.sh
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/setup.sh
@@ -1,6 +1,12 @@
 #!/bin/bash
 set -ex
 
+NUMBER_OF_NETWORK_NAMESPACES=1
+echo "Setting up ${NUMBER_OF_NETWORK_NAMESPACES} network namespaces"
+if [ -n "$1" ]; then
+    NUMBER_OF_NETWORK_NAMESPACES=$1
+fi
+
 ROOT="$(dirname $(pwd))"
 
 OPENSSL_DIR=${ROOT}/tmp/.local/openssl
@@ -12,7 +18,7 @@ NGINX_CONF_DIR=${ROOT}/tmp/.local/nginx/conf
 NGINX_LOGS_DIR=${ROOT}/tmp/.local/nginx/logs
 
 ##########################
-# Build s_timer
+# Build s_timer and quic_s_timer
 ##########################
 make s_timer quic_s_timer
 
@@ -20,7 +26,8 @@ make s_timer quic_s_timer
 # Setup network namespaces
 ##########################
 export DATE=$(date +%Y%m%d%H%M%S) 
-sudo -E ${ROOT}/setup_ns.sh
+export NUMBER_OF_NETWORK_NAMESPACES
+sudo -E $(pwd)/scripts/helper_scripts/setup_ns.sh
 
 ##########################
 # Generate ECDSA P-256 cert
@@ -50,8 +57,11 @@ cat ${NGINX_CONF_DIR}/CA.crt >> ${OPENSSL_DIR}/ssl/certs/ca-certificates.crt
 ##########################
 cp nginx.conf ${NGINX_CONF_DIR}/nginx.conf
 # echo "EXITING EARLY NOW TO TEST LOCALLY"
+# Then you would have to start nginx yourself, but can start it outside the emulated network.
 # exit 0
-sudo ip netns exec srv_ns ${NGINX_APP}
+for i in $(seq 1 ${NUMBER_OF_NETWORK_NAMESPACES}); do
+    sudo ip netns exec srv_ns_${i} ${NGINX_APP} -g "pid logs/nginx-${i}.pid;"
+done
 echo "Nginx started"
 
 # Start collecting keys
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/teardown.sh b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/teardown.sh
index 10d1ebede5d5603813d2865268e8afe31c67b942..d182b1b2f76c5ddf44841368e8ffffad2aff448c 100755
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/teardown.sh
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/teardown.sh
@@ -1,16 +1,24 @@
 #!/bin/bash
 set -x
 
+NUMBER_OF_NETWORK_NAMESPACES=1
+if [ -n "$1" ]; then
+    NUMBER_OF_NETWORK_NAMESPACES=$1
+fi
+echo "Executing teardown for ${NUMBER_OF_NETWORK_NAMESPACES} network namespaces"
+
 ROOT="$(dirname $(pwd))"
 NGINX_APP=${ROOT}/tmp/.local/nginx/sbin/nginx
 
 ##########################
 # Stop nginx
 ##########################
-sudo ip netns exec srv_ns ${NGINX_APP} -s stop
+for i in $(seq 1 ${NUMBER_OF_NETWORK_NAMESPACES}); do
+      sudo ip netns exec srv_ns_${i} ${NGINX_APP} -s stop -g "pid logs/nginx-${i}.pid;"
+done
 
 # Stop capturing packets and keys
-sudo ip netns exec cli_ns ps -ef | grep tshark | grep -v grep | awk '{print $2}' | xargs sudo kill
+sudo ip netns exec cli_ns_1 ps -ef | grep tshark | grep -v grep | awk '{print $2}' | xargs sudo kill
 pkill -f "tail -f -n0"
 
 ##########################
@@ -24,5 +32,7 @@ sudo rm -rf scripts/__pycache__
 ##########################
 # Remove network namespaces
 ##########################
-sudo ip netns del cli_ns
-sudo ip netns del srv_ns
+for i in $(seq 1 ${NUMBER_OF_NETWORK_NAMESPACES}); do
+    sudo ip netns del srv_ns_${i}
+    sudo ip netns del cli_ns_${i}
+done
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/README.md b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..e434ba3792d8cd88f3ca68bbc06d2334152173a3
--- /dev/null
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/README.md
@@ -0,0 +1,2 @@
+# Scenario namings and their meaning
+- rate_cli_test is just a single row to test whether all clients are using the same network, or are using different ones
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_analyze_packets.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_analyze_packets.csv
index b9aaed769ba7acecad7f974504c86792d43c529b..6339398b960debcabbed220cd6b424835c0d2c8f 100755
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_analyze_packets.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_analyze_packets.csv
@@ -1,2 +1,2 @@
 analyze_packets,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,10ms,0,0,0,0,500,0,10ms,0,0,0,0,500
+,0,10,0,0,0,0,500,0,10,0,0,0,0,500
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_corrupt.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_corrupt.csv
index 2966e73cc87c5d25f1e923eba59e6a0171eeac56..ecb6c88e211337d84987c1986ebdbb5eebc4abd7 100644
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_corrupt.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_corrupt.csv
@@ -1,25 +1,25 @@
 corrupt,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0.25,0,500,0,2.684ms,0,0,0.25,0,500
-,0,2.684ms,0,0,0.5,0,500,0,2.684ms,0,0,0.5,0,500
-,0,2.684ms,0,0,1,0,500,0,2.684ms,0,0,1,0,500
-,0,2.684ms,0,0,1.5,0,500,0,2.684ms,0,0,1.5,0,500
-,0,2.684ms,0,0,2,0,500,0,2.684ms,0,0,2,0,500
-,0,2.684ms,0,0,3,0,500,0,2.684ms,0,0,3,0,500
-,0,2.684ms,0,0,4,0,500,0,2.684ms,0,0,4,0,500
-,0,2.684ms,0,0,5,0,500,0,2.684ms,0,0,5,0,500
-,0,2.684ms,0,0,6,0,500,0,2.684ms,0,0,6,0,500
-,0,2.684ms,0,0,7,0,500,0,2.684ms,0,0,7,0,500
-,0,2.684ms,0,0,8,0,500,0,2.684ms,0,0,8,0,500
-,0,2.684ms,0,0,9,0,500,0,2.684ms,0,0,9,0,500
-,0,2.684ms,0,0,10,0,500,0,2.684ms,0,0,10,0,500
-,0,2.684ms,0,0,11,0,500,0,2.684ms,0,0,11,0,500
-,0,2.684ms,0,0,12,0,500,0,2.684ms,0,0,12,0,500
-,0,2.684ms,0,0,13,0,500,0,2.684ms,0,0,13,0,500
-,0,2.684ms,0,0,14,0,500,0,2.684ms,0,0,14,0,500
-,0,2.684ms,0,0,15,0,500,0,2.684ms,0,0,15,0,500
-,0,2.684ms,0,0,16,0,500,0,2.684ms,0,0,16,0,500
-,0,2.684ms,0,0,17,0,500,0,2.684ms,0,0,17,0,500
-,0,2.684ms,0,0,18,0,500,0,2.684ms,0,0,18,0,500
-,0,2.684ms,0,0,19,0,500,0,2.684ms,0,0,19,0,500
-,0,2.684ms,0,0,20,0,500,0,2.684ms,0,0,20,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0.25,0,500,0,2.684,0,0,0.25,0,500
+,0,2.684,0,0,0.5,0,500,0,2.684,0,0,0.5,0,500
+,0,2.684,0,0,1,0,500,0,2.684,0,0,1,0,500
+,0,2.684,0,0,1.5,0,500,0,2.684,0,0,1.5,0,500
+,0,2.684,0,0,2,0,500,0,2.684,0,0,2,0,500
+,0,2.684,0,0,3,0,500,0,2.684,0,0,3,0,500
+,0,2.684,0,0,4,0,500,0,2.684,0,0,4,0,500
+,0,2.684,0,0,5,0,500,0,2.684,0,0,5,0,500
+,0,2.684,0,0,6,0,500,0,2.684,0,0,6,0,500
+,0,2.684,0,0,7,0,500,0,2.684,0,0,7,0,500
+,0,2.684,0,0,8,0,500,0,2.684,0,0,8,0,500
+,0,2.684,0,0,9,0,500,0,2.684,0,0,9,0,500
+,0,2.684,0,0,10,0,500,0,2.684,0,0,10,0,500
+,0,2.684,0,0,11,0,500,0,2.684,0,0,11,0,500
+,0,2.684,0,0,12,0,500,0,2.684,0,0,12,0,500
+,0,2.684,0,0,13,0,500,0,2.684,0,0,13,0,500
+,0,2.684,0,0,14,0,500,0,2.684,0,0,14,0,500
+,0,2.684,0,0,15,0,500,0,2.684,0,0,15,0,500
+,0,2.684,0,0,16,0,500,0,2.684,0,0,16,0,500
+,0,2.684,0,0,17,0,500,0,2.684,0,0,17,0,500
+,0,2.684,0,0,18,0,500,0,2.684,0,0,18,0,500
+,0,2.684,0,0,19,0,500,0,2.684,0,0,19,0,500
+,0,2.684,0,0,20,0,500,0,2.684,0,0,20,0,500
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay.csv
index 36df9ad1667476afc410159db3ca3e66f8f5e54e..20c3fcd3fa46315681aafa8cab5fbf8b14dd7e0c 100644
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay.csv
@@ -1,18 +1,18 @@
 delay,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,1ms,0,0,0,0,500,0,1ms,0,0,0,0,500
-,0,2.5ms,0,0,0,0,500,0,2.5ms,0,0,0,0,500
-,0,5ms,0,0,0,0,500,0,5ms,0,0,0,0,500
-,0,7.5ms,0,0,0,0,500,0,7.5ms,0,0,0,0,500
-,0,10ms,0,0,0,0,500,0,10ms,0,0,0,0,500
-,0,15ms,0,0,0,0,500,0,15ms,0,0,0,0,500
-,0,20ms,0,0,0,0,500,0,20ms,0,0,0,0,500
-,0,25ms,0,0,0,0,500,0,25ms,0,0,0,0,500
-,0,30ms,0,0,0,0,500,0,30ms,0,0,0,0,500
-,0,40ms,0,0,0,0,500,0,40ms,0,0,0,0,500
-,0,50ms,0,0,0,0,500,0,50ms,0,0,0,0,500
-,0,60ms,0,0,0,0,500,0,60ms,0,0,0,0,500
-,0,80ms,0,0,0,0,500,0,80ms,0,0,0,0,500
-,0,100ms,0,0,0,0,500,0,100ms,0,0,0,0,500
-,0,120ms,0,0,0,0,500,0,120ms,0,0,0,0,500
-,0,150ms,0,0,0,0,500,0,150ms,0,0,0,0,500
-,0,190ms,0,0,0,0,500,0,190ms,0,0,0,0,500
+,0,1,0,0,0,0,500,0,1,0,0,0,0,500
+,0,2.5,0,0,0,0,500,0,2.5,0,0,0,0,500
+,0,5,0,0,0,0,500,0,5,0,0,0,0,500
+,0,7.5,0,0,0,0,500,0,7.5,0,0,0,0,500
+,0,10,0,0,0,0,500,0,10,0,0,0,0,500
+,0,15,0,0,0,0,500,0,15,0,0,0,0,500
+,0,20,0,0,0,0,500,0,20,0,0,0,0,500
+,0,25,0,0,0,0,500,0,25,0,0,0,0,500
+,0,30,0,0,0,0,500,0,30,0,0,0,0,500
+,0,40,0,0,0,0,500,0,40,0,0,0,0,500
+,0,50,0,0,0,0,500,0,50,0,0,0,0,500
+,0,60,0,0,0,0,500,0,60,0,0,0,0,500
+,0,80,0,0,0,0,500,0,80,0,0,0,0,500
+,0,100,0,0,0,0,500,0,100,0,0,0,0,500
+,0,120,0,0,0,0,500,0,120,0,0,0,0,500
+,0,150,0,0,0,0,500,0,150,0,0,0,0,500
+,0,190,0,0,0,0,500,0,190,0,0,0,0,500
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_duplicate.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_duplicate.csv
index d7d97451041fbd13c675c431230a5f80cb4486a9..92b317035d44dfda7ce3ea234f9f481e8bb7e192 100755
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_duplicate.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_duplicate.csv
@@ -1,64 +1,64 @@
 delay,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,2ms,0,0,0,0,500,0,2ms,0,0,0,0,500
-,0,2ms,0,2,0,0,500,0,2ms,0,2,0,0,500
-,0,2ms,0,4,0,0,500,0,2ms,0,4,0,0,500
-,0,2ms,0,6,0,0,500,0,2ms,0,6,0,0,500
-,0,2ms,0,8,0,0,500,0,2ms,0,8,0,0,500
-,0,2ms,0,10,0,0,500,0,2ms,0,10,0,0,500
-,0,2ms,0,12.5,0,0,500,0,2ms,0,12.5,0,0,500
-,0,2ms,0,15,0,0,500,0,2ms,0,15,0,0,500
-,0,2ms,0,17.5,0,0,500,0,2ms,0,17.5,0,0,500
-,0,5ms,0,0,0,0,500,0,5ms,0,0,0,0,500
-,0,5ms,0,2,0,0,500,0,5ms,0,2,0,0,500
-,0,5ms,0,4,0,0,500,0,5ms,0,4,0,0,500
-,0,5ms,0,6,0,0,500,0,5ms,0,6,0,0,500
-,0,5ms,0,8,0,0,500,0,5ms,0,8,0,0,500
-,0,5ms,0,10,0,0,500,0,5ms,0,10,0,0,500
-,0,5ms,0,12.5,0,0,500,0,5ms,0,12.5,0,0,500
-,0,5ms,0,15,0,0,500,0,5ms,0,15,0,0,500
-,0,5ms,0,17.5,0,0,500,0,5ms,0,17.5,0,0,500
-,0,15ms,0,0,0,0,500,0,15ms,0,0,0,0,500
-,0,15ms,0,2,0,0,500,0,15ms,0,2,0,0,500
-,0,15ms,0,4,0,0,500,0,15ms,0,4,0,0,500
-,0,15ms,0,6,0,0,500,0,15ms,0,6,0,0,500
-,0,15ms,0,8,0,0,500,0,15ms,0,8,0,0,500
-,0,15ms,0,10,0,0,500,0,15ms,0,10,0,0,500
-,0,15ms,0,12.5,0,0,500,0,15ms,0,12.5,0,0,500
-,0,15ms,0,15,0,0,500,0,15ms,0,15,0,0,500
-,0,15ms,0,17.5,0,0,500,0,15ms,0,17.5,0,0,500
-,0,35ms,0,0,0,0,500,0,35ms,0,0,0,0,500
-,0,35ms,0,2,0,0,500,0,35ms,0,2,0,0,500
-,0,35ms,0,4,0,0,500,0,35ms,0,4,0,0,500
-,0,35ms,0,6,0,0,500,0,35ms,0,6,0,0,500
-,0,35ms,0,8,0,0,500,0,35ms,0,8,0,0,500
-,0,35ms,0,10,0,0,500,0,35ms,0,10,0,0,500
-,0,35ms,0,12.5,0,0,500,0,35ms,0,12.5,0,0,500
-,0,35ms,0,15,0,0,500,0,35ms,0,15,0,0,500
-,0,35ms,0,17.5,0,0,500,0,35ms,0,17.5,0,0,500
-,0,70ms,0,0,0,0,500,0,70ms,0,0,0,0,500
-,0,70ms,0,2,0,0,500,0,70ms,0,2,0,0,500
-,0,70ms,0,4,0,0,500,0,70ms,0,4,0,0,500
-,0,70ms,0,6,0,0,500,0,70ms,0,6,0,0,500
-,0,70ms,0,8,0,0,500,0,70ms,0,8,0,0,500
-,0,70ms,0,10,0,0,500,0,70ms,0,10,0,0,500
-,0,70ms,0,12.5,0,0,500,0,70ms,0,12.5,0,0,500
-,0,70ms,0,15,0,0,500,0,70ms,0,15,0,0,500
-,0,70ms,0,17.5,0,0,500,0,70ms,0,17.5,0,0,500
-,0,120ms,0,0,0,0,500,0,120ms,0,0,0,0,500
-,0,120ms,0,2,0,0,500,0,120ms,0,2,0,0,500
-,0,120ms,0,4,0,0,500,0,120ms,0,4,0,0,500
-,0,120ms,0,6,0,0,500,0,120ms,0,6,0,0,500
-,0,120ms,0,8,0,0,500,0,120ms,0,8,0,0,500
-,0,120ms,0,10,0,0,500,0,120ms,0,10,0,0,500
-,0,120ms,0,12.5,0,0,500,0,120ms,0,12.5,0,0,500
-,0,120ms,0,15,0,0,500,0,120ms,0,15,0,0,500
-,0,120ms,0,17.5,0,0,500,0,120ms,0,17.5,0,0,500
-,0,190ms,0,0,0,0,500,0,190ms,0,0,0,0,500
-,0,190ms,0,2,0,0,500,0,190ms,0,2,0,0,500
-,0,190ms,0,4,0,0,500,0,190ms,0,4,0,0,500
-,0,190ms,0,6,0,0,500,0,190ms,0,6,0,0,500
-,0,190ms,0,8,0,0,500,0,190ms,0,8,0,0,500
-,0,190ms,0,10,0,0,500,0,190ms,10,0,0,0,500
-,0,190ms,0,12.5,0,0,500,0,190ms,0,12.5,0,0,500
-,0,190ms,0,15,0,0,500,0,190ms,0,15,0,0,500
-,0,190ms,0,17.5,0,0,500,0,190ms,0,17.5,0,0,500
+,0,2,0,0,0,0,500,0,2,0,0,0,0,500
+,0,2,0,2,0,0,500,0,2,0,2,0,0,500
+,0,2,0,4,0,0,500,0,2,0,4,0,0,500
+,0,2,0,6,0,0,500,0,2,0,6,0,0,500
+,0,2,0,8,0,0,500,0,2,0,8,0,0,500
+,0,2,0,10,0,0,500,0,2,0,10,0,0,500
+,0,2,0,12.5,0,0,500,0,2,0,12.5,0,0,500
+,0,2,0,15,0,0,500,0,2,0,15,0,0,500
+,0,2,0,17.5,0,0,500,0,2,0,17.5,0,0,500
+,0,5,0,0,0,0,500,0,5,0,0,0,0,500
+,0,5,0,2,0,0,500,0,5,0,2,0,0,500
+,0,5,0,4,0,0,500,0,5,0,4,0,0,500
+,0,5,0,6,0,0,500,0,5,0,6,0,0,500
+,0,5,0,8,0,0,500,0,5,0,8,0,0,500
+,0,5,0,10,0,0,500,0,5,0,10,0,0,500
+,0,5,0,12.5,0,0,500,0,5,0,12.5,0,0,500
+,0,5,0,15,0,0,500,0,5,0,15,0,0,500
+,0,5,0,17.5,0,0,500,0,5,0,17.5,0,0,500
+,0,15,0,0,0,0,500,0,15,0,0,0,0,500
+,0,15,0,2,0,0,500,0,15,0,2,0,0,500
+,0,15,0,4,0,0,500,0,15,0,4,0,0,500
+,0,15,0,6,0,0,500,0,15,0,6,0,0,500
+,0,15,0,8,0,0,500,0,15,0,8,0,0,500
+,0,15,0,10,0,0,500,0,15,0,10,0,0,500
+,0,15,0,12.5,0,0,500,0,15,0,12.5,0,0,500
+,0,15,0,15,0,0,500,0,15,0,15,0,0,500
+,0,15,0,17.5,0,0,500,0,15,0,17.5,0,0,500
+,0,35,0,0,0,0,500,0,35,0,0,0,0,500
+,0,35,0,2,0,0,500,0,35,0,2,0,0,500
+,0,35,0,4,0,0,500,0,35,0,4,0,0,500
+,0,35,0,6,0,0,500,0,35,0,6,0,0,500
+,0,35,0,8,0,0,500,0,35,0,8,0,0,500
+,0,35,0,10,0,0,500,0,35,0,10,0,0,500
+,0,35,0,12.5,0,0,500,0,35,0,12.5,0,0,500
+,0,35,0,15,0,0,500,0,35,0,15,0,0,500
+,0,35,0,17.5,0,0,500,0,35,0,17.5,0,0,500
+,0,70,0,0,0,0,500,0,70,0,0,0,0,500
+,0,70,0,2,0,0,500,0,70,0,2,0,0,500
+,0,70,0,4,0,0,500,0,70,0,4,0,0,500
+,0,70,0,6,0,0,500,0,70,0,6,0,0,500
+,0,70,0,8,0,0,500,0,70,0,8,0,0,500
+,0,70,0,10,0,0,500,0,70,0,10,0,0,500
+,0,70,0,12.5,0,0,500,0,70,0,12.5,0,0,500
+,0,70,0,15,0,0,500,0,70,0,15,0,0,500
+,0,70,0,17.5,0,0,500,0,70,0,17.5,0,0,500
+,0,120,0,0,0,0,500,0,120,0,0,0,0,500
+,0,120,0,2,0,0,500,0,120,0,2,0,0,500
+,0,120,0,4,0,0,500,0,120,0,4,0,0,500
+,0,120,0,6,0,0,500,0,120,0,6,0,0,500
+,0,120,0,8,0,0,500,0,120,0,8,0,0,500
+,0,120,0,10,0,0,500,0,120,0,10,0,0,500
+,0,120,0,12.5,0,0,500,0,120,0,12.5,0,0,500
+,0,120,0,15,0,0,500,0,120,0,15,0,0,500
+,0,120,0,17.5,0,0,500,0,120,0,17.5,0,0,500
+,0,190,0,0,0,0,500,0,190,0,0,0,0,500
+,0,190,0,2,0,0,500,0,190,0,2,0,0,500
+,0,190,0,4,0,0,500,0,190,0,4,0,0,500
+,0,190,0,6,0,0,500,0,190,0,6,0,0,500
+,0,190,0,8,0,0,500,0,190,0,8,0,0,500
+,0,190,0,10,0,0,500,0,190,10,0,0,0,500
+,0,190,0,12.5,0,0,500,0,190,0,12.5,0,0,500
+,0,190,0,15,0,0,500,0,190,0,15,0,0,500
+,0,190,0,17.5,0,0,500,0,190,0,17.5,0,0,500
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_minRate.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_minRate.csv
index e0cc84c824f53bdb75fbc6cd64de378e65bc9c45..da4c9812f8b377a542ed7a672060c9f0957b4303 100644
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_minRate.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_minRate.csv
@@ -1,7 +1,7 @@
 delay_minRate,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,2.5ms,0,0,0,0,2,0,2.5ms,0,0,0,0,2
-,0,10ms,0,0,0,0,2,0,10ms,0,0,0,0,2
-,0,30ms,0,0,0,0,2,0,30ms,0,0,0,0,2
-,0,80ms,0,0,0,0,2,0,80ms,0,0,0,0,2
-,0,120ms,0,0,0,0,2,0,120ms,0,0,0,0,2
-,0,180ms,0,0,0,0,2,0,180ms,0,0,0,0,2
+,0,2.5,0,0,0,0,2,0,2.5,0,0,0,0,2
+,0,10,0,0,0,0,2,0,10,0,0,0,0,2
+,0,30,0,0,0,0,2,0,30,0,0,0,0,2
+,0,80,0,0,0,0,2,0,80,0,0,0,0,2
+,0,120,0,0,0,0,2,0,120,0,0,0,0,2
+,0,180,0,0,0,0,2,0,180,0,0,0,0,2
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_packetloss.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_packetloss.csv
index cfb9089cadb16f386ba9b5093c818037f1ffbd34..fb311c57092e44342f965d4bb8a37ad9d51098c9 100755
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_packetloss.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_packetloss.csv
@@ -1,64 +1,64 @@
 delay,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,2ms,0,0,0,0,500,0,2ms,0,0,0,0,500
-,2,2ms,0,0,0,0,500,2,2ms,0,0,0,0,500
-,4,2ms,0,0,0,0,500,4,2ms,0,0,0,0,500
-,6,2ms,0,0,0,0,500,6,2ms,0,0,0,0,500
-,8,2ms,0,0,0,0,500,8,2ms,0,0,0,0,500
-,10,2ms,0,0,0,0,500,10,2ms,0,0,0,0,500
-,12.5,2ms,0,0,0,0,500,12.5,2ms,0,0,0,0,500
-,15,2ms,0,0,0,0,500,15,2ms,0,0,0,0,500
-,17.5,2ms,0,0,0,0,500,17.5,2ms,0,0,0,0,500
-,0,5ms,0,0,0,0,500,0,5ms,0,0,0,0,500
-,2,5ms,0,0,0,0,500,2,5ms,0,0,0,0,500
-,4,5ms,0,0,0,0,500,4,5ms,0,0,0,0,500
-,6,5ms,0,0,0,0,500,6,5ms,0,0,0,0,500
-,8,5ms,0,0,0,0,500,8,5ms,0,0,0,0,500
-,10,5ms,0,0,0,0,500,10,5ms,0,0,0,0,500
-,12.5,5ms,0,0,0,0,500,12.5,5ms,0,0,0,0,500
-,15,5ms,0,0,0,0,500,15,5ms,0,0,0,0,500
-,17.5,5ms,0,0,0,0,500,17.5,5ms,0,0,0,0,500
-,0,15ms,0,0,0,0,500,0,15ms,0,0,0,0,500
-,2,15ms,0,0,0,0,500,2,15ms,0,0,0,0,500
-,4,15ms,0,0,0,0,500,4,15ms,0,0,0,0,500
-,6,15ms,0,0,0,0,500,6,15ms,0,0,0,0,500
-,8,15ms,0,0,0,0,500,8,15ms,0,0,0,0,500
-,10,15ms,0,0,0,0,500,10,15ms,0,0,0,0,500
-,12.5,15ms,0,0,0,0,500,12.5,15ms,0,0,0,0,500
-,15,15ms,0,0,0,0,500,15,15ms,0,0,0,0,500
-,17.5,15ms,0,0,0,0,500,17.5,15ms,0,0,0,0,500
-,0,35ms,0,0,0,0,500,0,35ms,0,0,0,0,500
-,2,35ms,0,0,0,0,500,2,35ms,0,0,0,0,500
-,4,35ms,0,0,0,0,500,4,35ms,0,0,0,0,500
-,6,35ms,0,0,0,0,500,6,35ms,0,0,0,0,500
-,8,35ms,0,0,0,0,500,8,35ms,0,0,0,0,500
-,10,35ms,0,0,0,0,500,10,35ms,0,0,0,0,500
-,12.5,35ms,0,0,0,0,500,12.5,35ms,0,0,0,0,500
-,15,35ms,0,0,0,0,500,15,35ms,0,0,0,0,500
-,17.5,35ms,0,0,0,0,500,17.5,35ms,0,0,0,0,500
-,0,70ms,0,0,0,0,500,0,70ms,0,0,0,0,500
-,2,70ms,0,0,0,0,500,2,70ms,0,0,0,0,500
-,4,70ms,0,0,0,0,500,4,70ms,0,0,0,0,500
-,6,70ms,0,0,0,0,500,6,70ms,0,0,0,0,500
-,8,70ms,0,0,0,0,500,8,70ms,0,0,0,0,500
-,10,70ms,0,0,0,0,500,10,70ms,0,0,0,0,500
-,12.5,70ms,0,0,0,0,500,12.5,70ms,0,0,0,0,500
-,15,70ms,0,0,0,0,500,15,70ms,0,0,0,0,500
-,17.5,70ms,0,0,0,0,500,17.5,70ms,0,0,0,0,500
-,0,120ms,0,0,0,0,500,0,120ms,0,0,0,0,500
-,2,120ms,0,0,0,0,500,2,120ms,0,0,0,0,500
-,4,120ms,0,0,0,0,500,4,120ms,0,0,0,0,500
-,6,120ms,0,0,0,0,500,6,120ms,0,0,0,0,500
-,8,120ms,0,0,0,0,500,8,120ms,0,0,0,0,500
-,10,120ms,0,0,0,0,500,10,120ms,0,0,0,0,500
-,12.5,120ms,0,0,0,0,500,12.5,120ms,0,0,0,0,500
-,15,120ms,0,0,0,0,500,15,120ms,0,0,0,0,500
-,17.5,120ms,0,0,0,0,500,17.5,120ms,0,0,0,0,500
-,0,190ms,0,0,0,0,500,0,190ms,0,0,0,0,500
-,2,190ms,0,0,0,0,500,2,190ms,0,0,0,0,500
-,4,190ms,0,0,0,0,500,4,190ms,0,0,0,0,500
-,6,190ms,0,0,0,0,500,6,190ms,0,0,0,0,500
-,8,190ms,0,0,0,0,500,8,190ms,0,0,0,0,500
-,10,190ms,0,0,0,0,500,10,190ms,0,0,0,0,500
-,12.5,190ms,0,0,0,0,500,12.5,190ms,0,0,0,0,500
-,15,190ms,0,0,0,0,500,15,190ms,0,0,0,0,500
-,17.5,190ms,0,0,0,0,500,17.5,190ms,0,0,0,0,500
+,0,2,0,0,0,0,500,0,2,0,0,0,0,500
+,2,2,0,0,0,0,500,2,2,0,0,0,0,500
+,4,2,0,0,0,0,500,4,2,0,0,0,0,500
+,6,2,0,0,0,0,500,6,2,0,0,0,0,500
+,8,2,0,0,0,0,500,8,2,0,0,0,0,500
+,10,2,0,0,0,0,500,10,2,0,0,0,0,500
+,12.5,2,0,0,0,0,500,12.5,2,0,0,0,0,500
+,15,2,0,0,0,0,500,15,2,0,0,0,0,500
+,17.5,2,0,0,0,0,500,17.5,2,0,0,0,0,500
+,0,5,0,0,0,0,500,0,5,0,0,0,0,500
+,2,5,0,0,0,0,500,2,5,0,0,0,0,500
+,4,5,0,0,0,0,500,4,5,0,0,0,0,500
+,6,5,0,0,0,0,500,6,5,0,0,0,0,500
+,8,5,0,0,0,0,500,8,5,0,0,0,0,500
+,10,5,0,0,0,0,500,10,5,0,0,0,0,500
+,12.5,5,0,0,0,0,500,12.5,5,0,0,0,0,500
+,15,5,0,0,0,0,500,15,5,0,0,0,0,500
+,17.5,5,0,0,0,0,500,17.5,5,0,0,0,0,500
+,0,15,0,0,0,0,500,0,15,0,0,0,0,500
+,2,15,0,0,0,0,500,2,15,0,0,0,0,500
+,4,15,0,0,0,0,500,4,15,0,0,0,0,500
+,6,15,0,0,0,0,500,6,15,0,0,0,0,500
+,8,15,0,0,0,0,500,8,15,0,0,0,0,500
+,10,15,0,0,0,0,500,10,15,0,0,0,0,500
+,12.5,15,0,0,0,0,500,12.5,15,0,0,0,0,500
+,15,15,0,0,0,0,500,15,15,0,0,0,0,500
+,17.5,15,0,0,0,0,500,17.5,15,0,0,0,0,500
+,0,35,0,0,0,0,500,0,35,0,0,0,0,500
+,2,35,0,0,0,0,500,2,35,0,0,0,0,500
+,4,35,0,0,0,0,500,4,35,0,0,0,0,500
+,6,35,0,0,0,0,500,6,35,0,0,0,0,500
+,8,35,0,0,0,0,500,8,35,0,0,0,0,500
+,10,35,0,0,0,0,500,10,35,0,0,0,0,500
+,12.5,35,0,0,0,0,500,12.5,35,0,0,0,0,500
+,15,35,0,0,0,0,500,15,35,0,0,0,0,500
+,17.5,35,0,0,0,0,500,17.5,35,0,0,0,0,500
+,0,70,0,0,0,0,500,0,70,0,0,0,0,500
+,2,70,0,0,0,0,500,2,70,0,0,0,0,500
+,4,70,0,0,0,0,500,4,70,0,0,0,0,500
+,6,70,0,0,0,0,500,6,70,0,0,0,0,500
+,8,70,0,0,0,0,500,8,70,0,0,0,0,500
+,10,70,0,0,0,0,500,10,70,0,0,0,0,500
+,12.5,70,0,0,0,0,500,12.5,70,0,0,0,0,500
+,15,70,0,0,0,0,500,15,70,0,0,0,0,500
+,17.5,70,0,0,0,0,500,17.5,70,0,0,0,0,500
+,0,120,0,0,0,0,500,0,120,0,0,0,0,500
+,2,120,0,0,0,0,500,2,120,0,0,0,0,500
+,4,120,0,0,0,0,500,4,120,0,0,0,0,500
+,6,120,0,0,0,0,500,6,120,0,0,0,0,500
+,8,120,0,0,0,0,500,8,120,0,0,0,0,500
+,10,120,0,0,0,0,500,10,120,0,0,0,0,500
+,12.5,120,0,0,0,0,500,12.5,120,0,0,0,0,500
+,15,120,0,0,0,0,500,15,120,0,0,0,0,500
+,17.5,120,0,0,0,0,500,17.5,120,0,0,0,0,500
+,0,190,0,0,0,0,500,0,190,0,0,0,0,500
+,2,190,0,0,0,0,500,2,190,0,0,0,0,500
+,4,190,0,0,0,0,500,4,190,0,0,0,0,500
+,6,190,0,0,0,0,500,6,190,0,0,0,0,500
+,8,190,0,0,0,0,500,8,190,0,0,0,0,500
+,10,190,0,0,0,0,500,10,190,0,0,0,0,500
+,12.5,190,0,0,0,0,500,12.5,190,0,0,0,0,500
+,15,190,0,0,0,0,500,15,190,0,0,0,0,500
+,17.5,190,0,0,0,0,500,17.5,190,0,0,0,0,500
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_reorder.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_reorder.csv
index 80c840e2d37baa3854170887d459c4da9009ad84..bcddae9eafab461f9ce990c8811d826d9f5eef53 100755
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_reorder.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_delay_reorder.csv
@@ -1,64 +1,64 @@
 delay,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,2ms,0,0,0,0,500,0,2ms,0,0,0,0,500
-,0,2ms,0,0,0,2,500,0,2ms,0,0,0,2,500
-,0,2ms,0,0,0,4,500,0,2ms,0,0,0,4,500
-,0,2ms,0,0,0,6,500,0,2ms,0,0,0,6,500
-,0,2ms,0,0,0,8,500,0,2ms,0,0,0,8,500
-,0,2ms,0,0,0,10,500,0,2ms,0,0,0,10,500
-,0,2ms,0,0,0,12.5,500,0,2ms,0,0,0,12.5,500
-,0,2ms,0,0,0,15,500,0,2ms,0,0,0,15,500
-,0,2ms,0,0,0,17.5,500,0,2ms,0,0,0,17.5,500
-,0,5ms,0,0,0,0,500,0,5ms,0,0,0,0,500
-,0,5ms,0,0,0,2,500,0,5ms,0,0,0,2,500
-,0,5ms,0,0,0,4,500,0,5ms,0,0,0,4,500
-,0,5ms,0,0,0,6,500,0,5ms,0,0,0,6,500
-,0,5ms,0,0,0,8,500,0,5ms,0,0,0,8,500
-,0,5ms,0,0,0,10,500,0,5ms,0,0,0,10,500
-,0,5ms,0,0,0,12.5,500,10,5ms,0,0,0,12.5,500
-,0,5ms,0,0,0,15,500,0,5ms,0,0,0,15,500
-,0,5ms,0,0,0,17.5,500,0,5ms,0,0,0,17.5,500
-,0,15ms,0,0,0,0,500,0,15ms,0,0,0,0,500
-,0,15ms,0,0,0,2,500,0,15ms,0,0,0,2,500
-,0,15ms,0,0,0,4,500,0,15ms,0,0,0,4,500
-,0,15ms,0,0,0,6,500,0,15ms,0,0,0,6,500
-,0,15ms,0,0,0,8,500,0,15ms,0,0,0,8,500
-,0,15ms,0,0,0,10,500,0,15ms,0,0,0,10,0,0,500
-,0,15ms,0,0,0,12.5,500,0,15ms,0,0,0,12.5,500
-,0,15ms,0,0,0,15,500,0,15ms,0,0,0,15,500
-,0,15ms,0,0,0,17.5,500,0,15ms,0,0,0,17.5,500
-,0,35ms,0,0,0,0,500,0,35ms,0,0,500
-,0,35ms,0,0,0,2,500,0,35ms,0,0,0,2,500
-,0,35ms,0,0,0,4,500,0,35ms,0,0,0,4,500
-,0,35ms,0,0,0,6,500,0,35ms,0,0,0,6,500
-,0,35ms,0,0,0,8,500,0,35ms,0,0,0,8,500
-,0,35ms,0,0,0,10,500,0,35ms,0,0,0,10,500
-,0,35ms,0,0,0,12.5,500,0,35ms,0,0,0,12.5,500
-,0,35ms,0,0,0,15,500,0,35ms,0,0,0,15,500
-,0,35ms,0,0,0,17.5,500,0,35ms,0,0,0,17.5,500
-,0,72ms,0,0,0,0,500,0,72ms,0,0,0,0,500
-,0,72ms,0,0,0,2,500,0,72ms,0,0,0,2,500
-,0,72ms,0,0,0,4,500,0,72ms,0,0,0,4,500
-,0,72ms,0,0,0,6,500,0,72ms,0,0,0,6,500
-,0,72ms,0,0,0,8,500,0,72ms,0,0,0,8,500
-,0,72ms,0,0,0,10,500,0,72ms,0,0,0,10,500
-,0,72ms,0,0,0,12.5,500,0,72ms,0,0,0,12.5,500
-,0,72ms,0,0,0,15,500,0,72ms,0,0,0,15,500
-,0,72ms,0,0,0,17.5,500,0,72ms,0,0,0,17.5,500
-,0,122ms,0,0,0,0,500,0,122ms,0,0,0,0,500
-,0,122ms,0,0,0,2,500,0,122ms,0,0,0,2,500
-,0,122ms,0,0,0,4,500,0,122ms,0,0,0,4,500
-,0,122ms,0,0,0,6,500,0,122ms,0,0,0,6,500
-,0,122ms,0,0,0,8,500,0,122ms,0,0,0,8,500
-,0,122ms,0,0,0,10,500,0,122ms,0,0,0,10,500
-,0,122ms,0,0,0,12.5,500,0,122ms,0,0,0,12.5,500
-,0,122ms,0,0,0,15,500,0,122ms,0,0,0,15,500
-,0,122ms,0,0,0,17.5,500,0,122ms,0,0,0,17.5,500
-,0,192ms,0,0,0,0,500,0,192ms,0,0,0,0,500
-,0,192ms,0,0,0,2,500,0,192ms,0,0,0,2,500
-,0,192ms,0,0,0,4,500,0,192ms,0,0,0,4,500
-,0,192ms,0,0,0,6,500,0,192ms,0,0,0,6,500
-,0,192ms,0,0,0,8,500,0,192ms,0,0,0,8,500
-,0,192ms,0,0,0,10,500,0,192ms,0,0,0,10,0,500
-,0,192ms,0,0,0,12.5,500,0,192ms,0,0,0,12.5,500
-,0,192ms,0,0,0,15,500,0,192ms,0,0,0,15,500
-,0,192ms,0,0,0,17.5,500,0,192ms,0,0,0,17.5,500
+,0,2,0,0,0,0,500,0,2,0,0,0,0,500
+,0,2,0,0,0,2,500,0,2,0,0,0,2,500
+,0,2,0,0,0,4,500,0,2,0,0,0,4,500
+,0,2,0,0,0,6,500,0,2,0,0,0,6,500
+,0,2,0,0,0,8,500,0,2,0,0,0,8,500
+,0,2,0,0,0,10,500,0,2,0,0,0,10,500
+,0,2,0,0,0,12.5,500,0,2,0,0,0,12.5,500
+,0,2,0,0,0,15,500,0,2,0,0,0,15,500
+,0,2,0,0,0,17.5,500,0,2,0,0,0,17.5,500
+,0,5,0,0,0,0,500,0,5,0,0,0,0,500
+,0,5,0,0,0,2,500,0,5,0,0,0,2,500
+,0,5,0,0,0,4,500,0,5,0,0,0,4,500
+,0,5,0,0,0,6,500,0,5,0,0,0,6,500
+,0,5,0,0,0,8,500,0,5,0,0,0,8,500
+,0,5,0,0,0,10,500,0,5,0,0,0,10,500
+,0,5,0,0,0,12.5,500,10,5,0,0,0,12.5,500
+,0,5,0,0,0,15,500,0,5,0,0,0,15,500
+,0,5,0,0,0,17.5,500,0,5,0,0,0,17.5,500
+,0,15,0,0,0,0,500,0,15,0,0,0,0,500
+,0,15,0,0,0,2,500,0,15,0,0,0,2,500
+,0,15,0,0,0,4,500,0,15,0,0,0,4,500
+,0,15,0,0,0,6,500,0,15,0,0,0,6,500
+,0,15,0,0,0,8,500,0,15,0,0,0,8,500
+,0,15,0,0,0,10,500,0,15,0,0,0,10,0,0,500
+,0,15,0,0,0,12.5,500,0,15,0,0,0,12.5,500
+,0,15,0,0,0,15,500,0,15,0,0,0,15,500
+,0,15,0,0,0,17.5,500,0,15,0,0,0,17.5,500
+,0,35,0,0,0,0,500,0,35,0,0,500
+,0,35,0,0,0,2,500,0,35,0,0,0,2,500
+,0,35,0,0,0,4,500,0,35,0,0,0,4,500
+,0,35,0,0,0,6,500,0,35,0,0,0,6,500
+,0,35,0,0,0,8,500,0,35,0,0,0,8,500
+,0,35,0,0,0,10,500,0,35,0,0,0,10,500
+,0,35,0,0,0,12.5,500,0,35,0,0,0,12.5,500
+,0,35,0,0,0,15,500,0,35,0,0,0,15,500
+,0,35,0,0,0,17.5,500,0,35,0,0,0,17.5,500
+,0,72,0,0,0,0,500,0,72,0,0,0,0,500
+,0,72,0,0,0,2,500,0,72,0,0,0,2,500
+,0,72,0,0,0,4,500,0,72,0,0,0,4,500
+,0,72,0,0,0,6,500,0,72,0,0,0,6,500
+,0,72,0,0,0,8,500,0,72,0,0,0,8,500
+,0,72,0,0,0,10,500,0,72,0,0,0,10,500
+,0,72,0,0,0,12.5,500,0,72,0,0,0,12.5,500
+,0,72,0,0,0,15,500,0,72,0,0,0,15,500
+,0,72,0,0,0,17.5,500,0,72,0,0,0,17.5,500
+,0,122,0,0,0,0,500,0,122,0,0,0,0,500
+,0,122,0,0,0,2,500,0,122,0,0,0,2,500
+,0,122,0,0,0,4,500,0,122,0,0,0,4,500
+,0,122,0,0,0,6,500,0,122,0,0,0,6,500
+,0,122,0,0,0,8,500,0,122,0,0,0,8,500
+,0,122,0,0,0,10,500,0,122,0,0,0,10,500
+,0,122,0,0,0,12.5,500,0,122,0,0,0,12.5,500
+,0,122,0,0,0,15,500,0,122,0,0,0,15,500
+,0,122,0,0,0,17.5,500,0,122,0,0,0,17.5,500
+,0,192,0,0,0,0,500,0,192,0,0,0,0,500
+,0,192,0,0,0,2,500,0,192,0,0,0,2,500
+,0,192,0,0,0,4,500,0,192,0,0,0,4,500
+,0,192,0,0,0,6,500,0,192,0,0,0,6,500
+,0,192,0,0,0,8,500,0,192,0,0,0,8,500
+,0,192,0,0,0,10,500,0,192,0,0,0,10,0,500
+,0,192,0,0,0,12.5,500,0,192,0,0,0,12.5,500
+,0,192,0,0,0,15,500,0,192,0,0,0,15,500
+,0,192,0,0,0,17.5,500,0,192,0,0,0,17.5,500
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_duplicate.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_duplicate.csv
index e0f081ad378fbbed9c6f26f46476c7fb13c643d0..68064fb84b65f22ec9c0ea420808438beddb47a0 100644
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_duplicate.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_duplicate.csv
@@ -1,25 +1,25 @@
 duplicate,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0.25,0,0,500,0,2.684ms,0,0.25,0,0,500
-,0,2.684ms,0,0.5,0,0,500,0,2.684ms,0,0.5,0,0,500
-,0,2.684ms,0,1,0,0,500,0,2.684ms,0,1,0,0,500
-,0,2.684ms,0,1.5,0,0,500,0,2.684ms,0,1.5,0,0,500
-,0,2.684ms,0,2,0,0,500,0,2.684ms,0,2,0,0,500
-,0,2.684ms,0,3,0,0,500,0,2.684ms,0,3,0,0,500
-,0,2.684ms,0,4,0,0,500,0,2.684ms,0,4,0,0,500
-,0,2.684ms,0,5,0,0,500,0,2.684ms,0,5,0,0,500
-,0,2.684ms,0,6,0,0,500,0,2.684ms,0,6,0,0,500
-,0,2.684ms,0,7,0,0,500,0,2.684ms,0,7,0,0,500
-,0,2.684ms,0,8,0,0,500,0,2.684ms,0,8,0,0,500
-,0,2.684ms,0,9,0,0,500,0,2.684ms,0,9,0,0,500
-,0,2.684ms,0,10,0,0,500,0,2.684ms,0,10,0,0,500
-,0,2.684ms,0,11,0,0,500,0,2.684ms,0,11,0,0,500
-,0,2.684ms,0,12,0,0,500,0,2.684ms,0,12,0,0,500
-,0,2.684ms,0,13,0,0,500,0,2.684ms,0,13,0,0,500
-,0,2.684ms,0,14,0,0,500,0,2.684ms,0,14,0,0,500
-,0,2.684ms,0,15,0,0,500,0,2.684ms,0,15,0,0,500
-,0,2.684ms,0,16,0,0,500,0,2.684ms,0,16,0,0,500
-,0,2.684ms,0,17,0,0,500,0,2.684ms,0,17,0,0,500
-,0,2.684ms,0,18,0,0,500,0,2.684ms,0,18,0,0,500
-,0,2.684ms,0,19,0,0,500,0,2.684ms,0,19,0,0,500
-,0,2.684ms,0,20,0,0,500,0,2.684ms,0,20,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0.25,0,0,500,0,2.684,0,0.25,0,0,500
+,0,2.684,0,0.5,0,0,500,0,2.684,0,0.5,0,0,500
+,0,2.684,0,1,0,0,500,0,2.684,0,1,0,0,500
+,0,2.684,0,1.5,0,0,500,0,2.684,0,1.5,0,0,500
+,0,2.684,0,2,0,0,500,0,2.684,0,2,0,0,500
+,0,2.684,0,3,0,0,500,0,2.684,0,3,0,0,500
+,0,2.684,0,4,0,0,500,0,2.684,0,4,0,0,500
+,0,2.684,0,5,0,0,500,0,2.684,0,5,0,0,500
+,0,2.684,0,6,0,0,500,0,2.684,0,6,0,0,500
+,0,2.684,0,7,0,0,500,0,2.684,0,7,0,0,500
+,0,2.684,0,8,0,0,500,0,2.684,0,8,0,0,500
+,0,2.684,0,9,0,0,500,0,2.684,0,9,0,0,500
+,0,2.684,0,10,0,0,500,0,2.684,0,10,0,0,500
+,0,2.684,0,11,0,0,500,0,2.684,0,11,0,0,500
+,0,2.684,0,12,0,0,500,0,2.684,0,12,0,0,500
+,0,2.684,0,13,0,0,500,0,2.684,0,13,0,0,500
+,0,2.684,0,14,0,0,500,0,2.684,0,14,0,0,500
+,0,2.684,0,15,0,0,500,0,2.684,0,15,0,0,500
+,0,2.684,0,16,0,0,500,0,2.684,0,16,0,0,500
+,0,2.684,0,17,0,0,500,0,2.684,0,17,0,0,500
+,0,2.684,0,18,0,0,500,0,2.684,0,18,0,0,500
+,0,2.684,0,19,0,0,500,0,2.684,0,19,0,0,500
+,0,2.684,0,20,0,0,500,0,2.684,0,20,0,0,500
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_jitter_delay20ms.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_jitter_delay20ms.csv
index 6e7045e92d6b99f12c12497d073f5261c4457841..0af84eb319a5d202fd6c2cd9a62d5c5e7c7e4a4e 100644
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_jitter_delay20ms.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_jitter_delay20ms.csv
@@ -1,17 +1,17 @@
-jitter_delay20ms,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,20ms,0,0,0,0,500,0,20ms,0,0,0,0,500
-,0,20ms,0.1ms,0,0,0,500,0,20ms,0.1ms,0,0,0,500
-,0,20ms,0.25ms,0,0,0,500,0,20ms,0.25ms,0,0,0,500
-,0,20ms,0.5ms,0,0,0,500,0,20ms,0.5ms,0,0,0,500
-,0,20ms,0.75ms,0,0,0,500,0,20ms,0.75ms,0,0,0,500
-,0,20ms,1ms,0,0,0,500,0,20ms,1ms,0,0,0,500
-,0,20ms,1.5ms,0,0,0,500,0,20ms,1.5ms,0,0,0,500
-,0,20ms,2ms,0,0,0,500,0,20ms,2ms,0,0,0,500
-,0,20ms,2.5ms,0,0,0,500,0,20ms,2.5ms,0,0,0,500
-,0,20ms,3ms,0,0,0,500,0,20ms,3ms,0,0,0,500
-,0,20ms,5ms,0,0,0,500,0,20ms,5ms,0,0,0,500
-,0,20ms,7ms,0,0,0,500,0,20ms,7ms,0,0,0,500
-,0,20ms,9ms,0,0,0,500,0,20ms,9ms,0,0,0,500
-,0,20ms,12ms,0,0,0,500,0,20ms,12ms,0,0,0,500
-,0,20ms,15ms,0,0,0,500,0,20ms,15ms,0,0,0,500
-,0,20ms,20ms,0,0,0,500,0,20ms,20ms,0,0,0,500
+jitter_delay20,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
+,0,20,0,0,0,0,500,0,20,0,0,0,0,500
+,0,20,0.1,0,0,0,500,0,20,0.1,0,0,0,500
+,0,20,0.25,0,0,0,500,0,20,0.25,0,0,0,500
+,0,20,0.5,0,0,0,500,0,20,0.5,0,0,0,500
+,0,20,0.75,0,0,0,500,0,20,0.75,0,0,0,500
+,0,20,1,0,0,0,500,0,20,1,0,0,0,500
+,0,20,1.5,0,0,0,500,0,20,1.5,0,0,0,500
+,0,20,2,0,0,0,500,0,20,2,0,0,0,500
+,0,20,2.5,0,0,0,500,0,20,2.5,0,0,0,500
+,0,20,3,0,0,0,500,0,20,3,0,0,0,500
+,0,20,5,0,0,0,500,0,20,5,0,0,0,500
+,0,20,7,0,0,0,500,0,20,7,0,0,0,500
+,0,20,9,0,0,0,500,0,20,9,0,0,0,500
+,0,20,12,0,0,0,500,0,20,12,0,0,0,500
+,0,20,15,0,0,0,500,0,20,15,0,0,0,500
+,0,20,20,0,0,0,500,0,20,20,0,0,0,500
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_packetloss.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_packetloss.csv
index e74c47a48db527d998e0d7cda95b85842eaff8fe..3b025c09557a37c3d963b059488944c76514f431 100644
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_packetloss.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_packetloss.csv
@@ -1,25 +1,25 @@
 packetloss,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0.25,2.684ms,0,0,0,0,500,0.25,2.684ms,0,0,0,0,500
-,0.5,2.684ms,0,0,0,0,500,0.5,2.684ms,0,0,0,0,500
-,1,2.684ms,0,0,0,0,500,1,2.684ms,0,0,0,0,500
-,1.5,2.684ms,0,0,0,0,500,1.5,2.684ms,0,0,0,0,500
-,2,2.684ms,0,0,0,0,500,2,2.684ms,0,0,0,0,500
-,3,2.684ms,0,0,0,0,500,3,2.684ms,0,0,0,0,500
-,4,2.684ms,0,0,0,0,500,4,2.684ms,0,0,0,0,500
-,5,2.684ms,0,0,0,0,500,5,2.684ms,0,0,0,0,500
-,6,2.684ms,0,0,0,0,500,6,2.684ms,0,0,0,0,500
-,7,2.684ms,0,0,0,0,500,7,2.684ms,0,0,0,0,500
-,8,2.684ms,0,0,0,0,500,8,2.684ms,0,0,0,0,500
-,9,2.684ms,0,0,0,0,500,9,2.684ms,0,0,0,0,500
-,10,2.684ms,0,0,0,0,500,10,2.684ms,0,0,0,0,500
-,11,2.684ms,0,0,0,0,500,11,2.684ms,0,0,0,0,500
-,12,2.684ms,0,0,0,0,500,12,2.684ms,0,0,0,0,500
-,13,2.684ms,0,0,0,0,500,13,2.684ms,0,0,0,0,500
-,14,2.684ms,0,0,0,0,500,14,2.684ms,0,0,0,0,500
-,15,2.684ms,0,0,0,0,500,15,2.684ms,0,0,0,0,500
-,16,2.684ms,0,0,0,0,500,16,2.684ms,0,0,0,0,500
-,17,2.684ms,0,0,0,0,500,17,2.684ms,0,0,0,0,500
-,18,2.684ms,0,0,0,0,500,18,2.684ms,0,0,0,0,500
-,19,2.684ms,0,0,0,0,500,19,2.684ms,0,0,0,0,500
-,20,2.684ms,0,0,0,0,500,20,2.684ms,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0.25,2.684,0,0,0,0,500,0.25,2.684,0,0,0,0,500
+,0.5,2.684,0,0,0,0,500,0.5,2.684,0,0,0,0,500
+,1,2.684,0,0,0,0,500,1,2.684,0,0,0,0,500
+,1.5,2.684,0,0,0,0,500,1.5,2.684,0,0,0,0,500
+,2,2.684,0,0,0,0,500,2,2.684,0,0,0,0,500
+,3,2.684,0,0,0,0,500,3,2.684,0,0,0,0,500
+,4,2.684,0,0,0,0,500,4,2.684,0,0,0,0,500
+,5,2.684,0,0,0,0,500,5,2.684,0,0,0,0,500
+,6,2.684,0,0,0,0,500,6,2.684,0,0,0,0,500
+,7,2.684,0,0,0,0,500,7,2.684,0,0,0,0,500
+,8,2.684,0,0,0,0,500,8,2.684,0,0,0,0,500
+,9,2.684,0,0,0,0,500,9,2.684,0,0,0,0,500
+,10,2.684,0,0,0,0,500,10,2.684,0,0,0,0,500
+,11,2.684,0,0,0,0,500,11,2.684,0,0,0,0,500
+,12,2.684,0,0,0,0,500,12,2.684,0,0,0,0,500
+,13,2.684,0,0,0,0,500,13,2.684,0,0,0,0,500
+,14,2.684,0,0,0,0,500,14,2.684,0,0,0,0,500
+,15,2.684,0,0,0,0,500,15,2.684,0,0,0,0,500
+,16,2.684,0,0,0,0,500,16,2.684,0,0,0,0,500
+,17,2.684,0,0,0,0,500,17,2.684,0,0,0,0,500
+,18,2.684,0,0,0,0,500,18,2.684,0,0,0,0,500
+,19,2.684,0,0,0,0,500,19,2.684,0,0,0,0,500
+,20,2.684,0,0,0,0,500,20,2.684,0,0,0,0,500
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_both.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_both.csv
index db6037a73c2b2929e2756a79024acb90fb8f5e92..db3b3a1c3467593aa2a611e89d40b3b0007eeae2 100644
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_both.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_both.csv
@@ -1,24 +1,24 @@
 rate_both,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,2.684ms,0,0,0,0,2000,0,2.684ms,0,0,0,0,2000
-,0,2.684ms,0,0,0,0,1000,0,2.684ms,0,0,0,0,1000
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,250,0,2.684ms,0,0,0,0,250
-,0,2.684ms,0,0,0,0,150,0,2.684ms,0,0,0,0,150
-,0,2.684ms,0,0,0,0,100,0,2.684ms,0,0,0,0,100
-,0,2.684ms,0,0,0,0,75,0,2.684ms,0,0,0,0,75
-,0,2.684ms,0,0,0,0,60,0,2.684ms,0,0,0,0,60
-,0,2.684ms,0,0,0,0,45,0,2.684ms,0,0,0,0,45
-,0,2.684ms,0,0,0,0,30,0,2.684ms,0,0,0,0,30
-,0,2.684ms,0,0,0,0,20,0,2.684ms,0,0,0,0,20
-,0,2.684ms,0,0,0,0,15,0,2.684ms,0,0,0,0,15
-,0,2.684ms,0,0,0,0,10,0,2.684ms,0,0,0,0,10
-,0,2.684ms,0,0,0,0,7.5,0,2.684ms,0,0,0,0,7.5
-,0,2.684ms,0,0,0,0,5,0,2.684ms,0,0,0,0,5
-,0,2.684ms,0,0,0,0,4,0,2.684ms,0,0,0,0,4
-,0,2.684ms,0,0,0,0,3,0,2.684ms,0,0,0,0,3
-,0,2.684ms,0,0,0,0,2,0,2.684ms,0,0,0,0,2
-,0,2.684ms,0,0,0,0,1.5,0,2.684ms,0,0,0,0,1.5
-,0,2.684ms,0,0,0,0,1,0,2.684ms,0,0,0,0,1
-,0,2.684ms,0,0,0,0,0.5,0,2.684ms,0,0,0,0,0.5
-,0,2.684ms,0,0,0,0,0.25,0,2.684ms,0,0,0,0,0.25
-,0,2.684ms,0,0,0,0,0.1,0,2.684ms,0,0,0,0,0.1
\ No newline at end of file
+,0,2.684,0,0,0,0,2000,0,2.684,0,0,0,0,2000
+,0,2.684,0,0,0,0,1000,0,2.684,0,0,0,0,1000
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,250,0,2.684,0,0,0,0,250
+,0,2.684,0,0,0,0,150,0,2.684,0,0,0,0,150
+,0,2.684,0,0,0,0,100,0,2.684,0,0,0,0,100
+,0,2.684,0,0,0,0,75,0,2.684,0,0,0,0,75
+,0,2.684,0,0,0,0,60,0,2.684,0,0,0,0,60
+,0,2.684,0,0,0,0,45,0,2.684,0,0,0,0,45
+,0,2.684,0,0,0,0,30,0,2.684,0,0,0,0,30
+,0,2.684,0,0,0,0,20,0,2.684,0,0,0,0,20
+,0,2.684,0,0,0,0,15,0,2.684,0,0,0,0,15
+,0,2.684,0,0,0,0,10,0,2.684,0,0,0,0,10
+,0,2.684,0,0,0,0,7.5,0,2.684,0,0,0,0,7.5
+,0,2.684,0,0,0,0,5,0,2.684,0,0,0,0,5
+,0,2.684,0,0,0,0,4,0,2.684,0,0,0,0,4
+,0,2.684,0,0,0,0,3,0,2.684,0,0,0,0,3
+,0,2.684,0,0,0,0,2,0,2.684,0,0,0,0,2
+,0,2.684,0,0,0,0,1.5,0,2.684,0,0,0,0,1.5
+,0,2.684,0,0,0,0,1,0,2.684,0,0,0,0,1
+,0,2.684,0,0,0,0,0.5,0,2.684,0,0,0,0,0.5
+,0,2.684,0,0,0,0,0.25,0,2.684,0,0,0,0,0.25
+,0,2.684,0,0,0,0,0.1,0,2.684,0,0,0,0,0.1
\ No newline at end of file
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_both_duplicate.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_both_duplicate.csv
index bbcc79f314e8c16a3afba93e769a665addd268d0..e663a30e003fc4d13197efc2d5b39ff61fbec093 100755
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_both_duplicate.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_both_duplicate.csv
@@ -1,100 +1,100 @@
 rate_both_duplicate,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,2.684ms,0,0,0,0,1000,0,2.684ms,0,0,0,0,1000
-,0,2.684ms,0,2,0,0,1000,0,2.684ms,0,2,0,0,1000
-,0,2.684ms,0,4,0,0,1000,0,2.684ms,0,4,0,0,1000
-,0,2.684ms,0,6,0,0,1000,0,2.684ms,0,6,0,0,1000
-,0,2.684ms,0,8,0,0,1000,0,2.684ms,0,8,0,0,1000
-,0,2.684ms,0,10,0,0,1000,0,2.684ms,0,10,0,0,1000
-,0,2.684ms,0,12.5,0,0,1000,0,2.684ms,0,12.5,0,0,1000
-,0,2.684ms,0,15,0,0,1000,0,2.684ms,0,15,0,0,1000
-,0,2.684ms,0,17.5,0,0,1000,0,2.684ms,0,17.5,0,0,1000
-,0,2.684ms,0,0,0,0,250,0,2.684ms,0,0,0,0,250
-,0,2.684ms,0,2,0,0,250,0,2.684ms,0,2,0,0,250
-,0,2.684ms,0,4,0,0,250,0,2.684ms,0,4,0,0,250
-,0,2.684ms,0,6,0,0,250,0,2.684ms,0,6,0,0,250
-,0,2.684ms,0,8,0,0,250,0,2.684ms,0,8,0,0,250
-,0,2.684ms,0,10,0,0,250,0,2.684ms,0,10,0,0,250
-,0,2.684ms,0,12.5,0,0,250,0,2.684ms,0,12.5,0,0,250
-,0,2.684ms,0,15,0,0,250,0,2.684ms,0,15,0,0,250
-,0,2.684ms,0,17.5,0,0,250,0,2.684ms,0,17.5,0,0,250
-,0,2.684ms,0,0,0,0,150,0,2.684ms,0,0,0,0,150
-,0,2.684ms,0,2,0,0,150,0,2.684ms,0,2,0,0,150
-,0,2.684ms,0,4,0,0,150,0,2.684ms,0,4,0,0,150
-,0,2.684ms,0,6,0,0,150,0,2.684ms,0,6,0,0,150
-,0,2.684ms,0,8,0,0,150,0,2.684ms,0,8,0,0,150
-,0,2.684ms,0,10,0,0,150,0,2.684ms,0,10,0,0,150
-,0,2.684ms,0,12.5,0,0,150,0,2.684ms,0,12.5,0,0,150
-,0,2.684ms,0,15,0,0,150,0,2.684ms,0,15,0,0,150
-,0,2.684ms,0,17.5,0,0,150,0,2.684ms,0,17.5,0,0,150
-,0,2.684ms,0,0,0,0,100,0,2.684ms,0,0,0,0,100
-,0,2.684ms,0,2,0,0,100,0,2.684ms,0,2,0,0,100
-,0,2.684ms,0,4,0,0,100,0,2.684ms,0,4,0,0,100
-,0,2.684ms,0,6,0,0,100,0,2.684ms,0,6,0,0,100
-,0,2.684ms,0,8,0,0,100,0,2.684ms,0,8,0,0,100
-,0,2.684ms,0,10,0,0,100,0,2.684ms,0,10,0,0,100
-,0,2.684ms,0,12.5,0,0,100,0,2.684ms,0,12.5,0,0,100
-,0,2.684ms,0,15,0,0,100,0,2.684ms,0,15,0,0,100
-,0,2.684ms,0,17.5,0,0,100,0,2.684ms,0,17.5,0,0,100
-,0,2.684ms,0,0,0,0,60,0,2.684ms,0,0,0,0,60
-,0,2.684ms,0,2,0,0,60,0,2.684ms,0,2,0,0,60
-,0,2.684ms,0,4,0,0,60,0,2.684ms,0,4,0,0,60
-,0,2.684ms,0,6,0,0,60,0,2.684ms,0,6,0,0,60
-,0,2.684ms,0,8,0,0,60,0,2.684ms,0,8,0,0,60
-,0,2.684ms,0,10,0,0,60,0,2.684ms,0,10,0,0,60
-,0,2.684ms,0,12.5,0,0,60,0,2.684ms,0,12.5,0,0,60
-,0,2.684ms,0,15,0,0,60,0,2.684ms,0,15,0,0,60
-,0,2.684ms,0,17.5,0,0,60,0,2.684ms,0,17.5,0,0,60
-,0,2.684ms,0,0,0,0,30,0,2.684ms,0,0,0,0,30
-,0,2.684ms,0,2,0,0,30,0,2.684ms,0,2,0,0,30
-,0,2.684ms,0,4,0,0,30,0,2.684ms,0,4,0,0,30
-,0,2.684ms,0,6,0,0,30,0,2.684ms,0,6,0,0,30
-,0,2.684ms,0,8,0,0,30,0,2.684ms,0,8,0,0,30
-,0,2.684ms,0,10,0,0,30,0,2.684ms,0,10,0,0,30
-,0,2.684ms,0,12.5,0,0,30,0,2.684ms,0,12.5,0,0,30
-,0,2.684ms,0,15,0,0,30,0,2.684ms,0,15,0,0,30
-,0,2.684ms,0,17.5,0,0,30,0,2.684ms,0,17.5,0,0,30
-,0,2.684ms,0,0,0,0,10,0,2.684ms,0,0,0,0,10
-,0,2.684ms,0,2,0,0,10,0,2.684ms,0,2,0,0,10
-,0,2.684ms,0,4,0,0,10,0,2.684ms,0,4,0,0,10
-,0,2.684ms,0,6,0,0,10,0,2.684ms,0,6,0,0,10
-,0,2.684ms,0,8,0,0,10,0,2.684ms,0,8,0,0,10
-,0,2.684ms,0,10,0,0,10,0,2.684ms,0,10,0,0,10
-,0,2.684ms,0,12.5,0,0,10,0,2.684ms,0,12.5,0,0,10
-,0,2.684ms,0,15,0,0,10,0,2.684ms,0,15,0,0,10
-,0,2.684ms,0,17.5,0,0,10,0,2.684ms,0,17.5,0,0,10
-,0,2.684ms,0,0,0,0,5,0,2.684ms,0,0,0,0,5
-,0,2.684ms,0,2,0,0,5,0,2.684ms,0,2,0,0,5
-,0,2.684ms,0,4,0,0,5,0,2.684ms,0,4,0,0,5
-,0,2.684ms,0,6,0,0,5,0,2.684ms,0,6,0,0,5
-,0,2.684ms,0,8,0,0,5,0,2.684ms,0,8,0,0,5
-,0,2.684ms,0,10,0,0,5,0,2.684ms,0,10,0,0,5
-,0,2.684ms,0,12.5,0,0,5,0,2.684ms,0,12.5,0,0,5
-,0,2.684ms,0,15,0,0,5,0,2.684ms,0,15,0,0,5
-,0,2.684ms,0,17.5,0,0,5,0,2.684ms,0,17.5,0,0,5
-,0,2.684ms,0,0,0,0,2.5,0,2.684ms,0,0,0,0,2.5
-,0,2.684ms,0,2,0,0,2.5,0,2.684ms,0,2,0,0,2.5
-,0,2.684ms,0,4,0,0,2.5,0,2.684ms,0,4,0,0,2.5
-,0,2.684ms,0,6,0,0,2.5,0,2.684ms,0,6,0,0,2.5
-,0,2.684ms,0,8,0,0,2.5,0,2.684ms,0,8,0,0,2.5
-,0,2.684ms,0,10,0,0,2.5,0,2.684ms,0,10,0,0,2.5
-,0,2.684ms,0,12.5,0,0,2.5,0,2.684ms,0,12.5,0,0,2.5
-,0,2.684ms,0,15,0,0,2.5,0,2.684ms,0,15,0,0,2.5
-,0,2.684ms,0,17.5,0,0,2.5,0,2.684ms,0,17.5,0,0,2.5
-,0,2.684ms,0,0,0,0,1,0,2.684ms,0,0,0,0,1
-,0,2.684ms,0,2,0,0,1,0,2.684ms,0,2,0,0,1
-,0,2.684ms,0,4,0,0,1,0,2.684ms,0,4,0,0,1
-,0,2.684ms,0,6,0,0,1,0,2.684ms,0,6,0,0,1
-,0,2.684ms,0,8,0,0,1,0,2.684ms,0,8,0,0,1
-,0,2.684ms,0,10,0,0,1,0,2.684ms,0,10,0,0,1
-,0,2.684ms,0,12.5,0,0,1,0,2.684ms,0,12.5,0,0,1
-,0,2.684ms,0,15,0,0,1,0,2.684ms,0,15,0,0,1
-,0,2.684ms,0,17.5,0,0,1,0,2.684ms,0,17.5,0,0,1
-,0,2.684ms,0,0,0,0,0.5,0,2.684ms,0,0,0,0,0.5
-,0,2.684ms,0,2,0,0,0.5,0,2.684ms,0,2,0,0,0.5
-,0,2.684ms,0,4,0,0,0.5,0,2.684ms,0,4,0,0,0.5
-,0,2.684ms,0,6,0,0,0.5,0,2.684ms,0,6,0,0,0.5
-,0,2.684ms,0,8,0,0,0.5,0,2.684ms,0,8,0,0,0.5
-,0,2.684ms,0,10,0,0,0.5,0,2.684ms,0,10,0,0,0.5
-,0,2.684ms,0,12.5,0,0,0.5,0,2.684ms,0,12.5,0,0,0.5
-,0,2.684ms,0,15,0,0,0.5,0,2.684ms,0,15,0,0,0.5
-,0,2.684ms,0,17.5,0,0,0.5,0,2.684ms,0,17.5,0,0,0.5
+,0,2.684,0,0,0,0,1000,0,2.684,0,0,0,0,1000
+,0,2.684,0,2,0,0,1000,0,2.684,0,2,0,0,1000
+,0,2.684,0,4,0,0,1000,0,2.684,0,4,0,0,1000
+,0,2.684,0,6,0,0,1000,0,2.684,0,6,0,0,1000
+,0,2.684,0,8,0,0,1000,0,2.684,0,8,0,0,1000
+,0,2.684,0,10,0,0,1000,0,2.684,0,10,0,0,1000
+,0,2.684,0,12.5,0,0,1000,0,2.684,0,12.5,0,0,1000
+,0,2.684,0,15,0,0,1000,0,2.684,0,15,0,0,1000
+,0,2.684,0,17.5,0,0,1000,0,2.684,0,17.5,0,0,1000
+,0,2.684,0,0,0,0,250,0,2.684,0,0,0,0,250
+,0,2.684,0,2,0,0,250,0,2.684,0,2,0,0,250
+,0,2.684,0,4,0,0,250,0,2.684,0,4,0,0,250
+,0,2.684,0,6,0,0,250,0,2.684,0,6,0,0,250
+,0,2.684,0,8,0,0,250,0,2.684,0,8,0,0,250
+,0,2.684,0,10,0,0,250,0,2.684,0,10,0,0,250
+,0,2.684,0,12.5,0,0,250,0,2.684,0,12.5,0,0,250
+,0,2.684,0,15,0,0,250,0,2.684,0,15,0,0,250
+,0,2.684,0,17.5,0,0,250,0,2.684,0,17.5,0,0,250
+,0,2.684,0,0,0,0,150,0,2.684,0,0,0,0,150
+,0,2.684,0,2,0,0,150,0,2.684,0,2,0,0,150
+,0,2.684,0,4,0,0,150,0,2.684,0,4,0,0,150
+,0,2.684,0,6,0,0,150,0,2.684,0,6,0,0,150
+,0,2.684,0,8,0,0,150,0,2.684,0,8,0,0,150
+,0,2.684,0,10,0,0,150,0,2.684,0,10,0,0,150
+,0,2.684,0,12.5,0,0,150,0,2.684,0,12.5,0,0,150
+,0,2.684,0,15,0,0,150,0,2.684,0,15,0,0,150
+,0,2.684,0,17.5,0,0,150,0,2.684,0,17.5,0,0,150
+,0,2.684,0,0,0,0,100,0,2.684,0,0,0,0,100
+,0,2.684,0,2,0,0,100,0,2.684,0,2,0,0,100
+,0,2.684,0,4,0,0,100,0,2.684,0,4,0,0,100
+,0,2.684,0,6,0,0,100,0,2.684,0,6,0,0,100
+,0,2.684,0,8,0,0,100,0,2.684,0,8,0,0,100
+,0,2.684,0,10,0,0,100,0,2.684,0,10,0,0,100
+,0,2.684,0,12.5,0,0,100,0,2.684,0,12.5,0,0,100
+,0,2.684,0,15,0,0,100,0,2.684,0,15,0,0,100
+,0,2.684,0,17.5,0,0,100,0,2.684,0,17.5,0,0,100
+,0,2.684,0,0,0,0,60,0,2.684,0,0,0,0,60
+,0,2.684,0,2,0,0,60,0,2.684,0,2,0,0,60
+,0,2.684,0,4,0,0,60,0,2.684,0,4,0,0,60
+,0,2.684,0,6,0,0,60,0,2.684,0,6,0,0,60
+,0,2.684,0,8,0,0,60,0,2.684,0,8,0,0,60
+,0,2.684,0,10,0,0,60,0,2.684,0,10,0,0,60
+,0,2.684,0,12.5,0,0,60,0,2.684,0,12.5,0,0,60
+,0,2.684,0,15,0,0,60,0,2.684,0,15,0,0,60
+,0,2.684,0,17.5,0,0,60,0,2.684,0,17.5,0,0,60
+,0,2.684,0,0,0,0,30,0,2.684,0,0,0,0,30
+,0,2.684,0,2,0,0,30,0,2.684,0,2,0,0,30
+,0,2.684,0,4,0,0,30,0,2.684,0,4,0,0,30
+,0,2.684,0,6,0,0,30,0,2.684,0,6,0,0,30
+,0,2.684,0,8,0,0,30,0,2.684,0,8,0,0,30
+,0,2.684,0,10,0,0,30,0,2.684,0,10,0,0,30
+,0,2.684,0,12.5,0,0,30,0,2.684,0,12.5,0,0,30
+,0,2.684,0,15,0,0,30,0,2.684,0,15,0,0,30
+,0,2.684,0,17.5,0,0,30,0,2.684,0,17.5,0,0,30
+,0,2.684,0,0,0,0,10,0,2.684,0,0,0,0,10
+,0,2.684,0,2,0,0,10,0,2.684,0,2,0,0,10
+,0,2.684,0,4,0,0,10,0,2.684,0,4,0,0,10
+,0,2.684,0,6,0,0,10,0,2.684,0,6,0,0,10
+,0,2.684,0,8,0,0,10,0,2.684,0,8,0,0,10
+,0,2.684,0,10,0,0,10,0,2.684,0,10,0,0,10
+,0,2.684,0,12.5,0,0,10,0,2.684,0,12.5,0,0,10
+,0,2.684,0,15,0,0,10,0,2.684,0,15,0,0,10
+,0,2.684,0,17.5,0,0,10,0,2.684,0,17.5,0,0,10
+,0,2.684,0,0,0,0,5,0,2.684,0,0,0,0,5
+,0,2.684,0,2,0,0,5,0,2.684,0,2,0,0,5
+,0,2.684,0,4,0,0,5,0,2.684,0,4,0,0,5
+,0,2.684,0,6,0,0,5,0,2.684,0,6,0,0,5
+,0,2.684,0,8,0,0,5,0,2.684,0,8,0,0,5
+,0,2.684,0,10,0,0,5,0,2.684,0,10,0,0,5
+,0,2.684,0,12.5,0,0,5,0,2.684,0,12.5,0,0,5
+,0,2.684,0,15,0,0,5,0,2.684,0,15,0,0,5
+,0,2.684,0,17.5,0,0,5,0,2.684,0,17.5,0,0,5
+,0,2.684,0,0,0,0,2.5,0,2.684,0,0,0,0,2.5
+,0,2.684,0,2,0,0,2.5,0,2.684,0,2,0,0,2.5
+,0,2.684,0,4,0,0,2.5,0,2.684,0,4,0,0,2.5
+,0,2.684,0,6,0,0,2.5,0,2.684,0,6,0,0,2.5
+,0,2.684,0,8,0,0,2.5,0,2.684,0,8,0,0,2.5
+,0,2.684,0,10,0,0,2.5,0,2.684,0,10,0,0,2.5
+,0,2.684,0,12.5,0,0,2.5,0,2.684,0,12.5,0,0,2.5
+,0,2.684,0,15,0,0,2.5,0,2.684,0,15,0,0,2.5
+,0,2.684,0,17.5,0,0,2.5,0,2.684,0,17.5,0,0,2.5
+,0,2.684,0,0,0,0,1,0,2.684,0,0,0,0,1
+,0,2.684,0,2,0,0,1,0,2.684,0,2,0,0,1
+,0,2.684,0,4,0,0,1,0,2.684,0,4,0,0,1
+,0,2.684,0,6,0,0,1,0,2.684,0,6,0,0,1
+,0,2.684,0,8,0,0,1,0,2.684,0,8,0,0,1
+,0,2.684,0,10,0,0,1,0,2.684,0,10,0,0,1
+,0,2.684,0,12.5,0,0,1,0,2.684,0,12.5,0,0,1
+,0,2.684,0,15,0,0,1,0,2.684,0,15,0,0,1
+,0,2.684,0,17.5,0,0,1,0,2.684,0,17.5,0,0,1
+,0,2.684,0,0,0,0,0.5,0,2.684,0,0,0,0,0.5
+,0,2.684,0,2,0,0,0.5,0,2.684,0,2,0,0,0.5
+,0,2.684,0,4,0,0,0.5,0,2.684,0,4,0,0,0.5
+,0,2.684,0,6,0,0,0.5,0,2.684,0,6,0,0,0.5
+,0,2.684,0,8,0,0,0.5,0,2.684,0,8,0,0,0.5
+,0,2.684,0,10,0,0,0.5,0,2.684,0,10,0,0,0.5
+,0,2.684,0,12.5,0,0,0.5,0,2.684,0,12.5,0,0,0.5
+,0,2.684,0,15,0,0,0.5,0,2.684,0,15,0,0,0.5
+,0,2.684,0,17.5,0,0,0.5,0,2.684,0,17.5,0,0,0.5
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_cli.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_cli.csv
index 4299fa5f565cfbf21ae4bfc3641dfa5e52a1bd9a..6b6cfdaa641bbe760c98142dc6462f3a738a8a9a 100644
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_cli.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_cli.csv
@@ -1,24 +1,24 @@
 rate_client,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,2000
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,1000
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,250
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,150
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,100
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,75
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,60
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,45
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,30
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,20
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,15
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,10
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,7.5
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,5
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,4
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,3
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,2
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,1.5
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,1
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,0.5
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,0.25
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,0.1
\ No newline at end of file
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,2000
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,1000
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,250
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,150
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,100
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,75
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,60
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,45
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,30
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,20
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,15
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,10
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,7.5
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,5
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,4
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,3
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,2
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,1.5
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,1
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,0.5
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,0.25
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,0.1
\ No newline at end of file
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_cli_test.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_cli_test.csv
new file mode 100644
index 0000000000000000000000000000000000000000..6d3301b3c817452a93cbdc646fa23302b6e5aa76
--- /dev/null
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_cli_test.csv
@@ -0,0 +1,2 @@
+rate_client_test,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,1
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_srv.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_srv.csv
index 18103b418795edacb8cb7ced5930dc2a6b40ffb1..cbbd7a11c65629a1eb88e139a126c7e60cacb248 100644
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_srv.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_rate_srv.csv
@@ -1,24 +1,24 @@
 rate_server,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,2.684ms,0,0,0,0,2000,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,1000,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,250,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,150,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,100,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,75,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,60,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,45,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,30,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,20,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,15,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,10,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,7.5,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,5,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,4,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,3,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,2,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,1.5,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,1,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,0.5,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,0.25,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,0.1,0,2.684ms,0,0,0,0,500
\ No newline at end of file
+,0,2.684,0,0,0,0,2000,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,1000,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,250,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,150,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,100,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,75,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,60,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,45,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,30,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,20,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,15,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,10,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,7.5,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,5,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,4,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,3,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,2,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,1.5,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,1,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,0.5,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,0.25,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,0.1,0,2.684,0,0,0,0,500
\ No newline at end of file
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_reorder.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_reorder.csv
index 8a0870d8ed8cc20fc7c701cf7482e91cab434ead..559ed2fc8d658d17975993df4cc49dc9a33f61e5 100644
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_reorder.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_reorder.csv
@@ -1,25 +1,25 @@
 reorder,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0.25,500,0,2.684ms,0,0,0,0.25,500
-,0,2.684ms,0,0,0,0.5,500,0,2.684ms,0,0,0,0.5,500
-,0,2.684ms,0,0,0,1,500,0,2.684ms,0,0,0,1,500
-,0,2.684ms,0,0,0,1.5,500,0,2.684ms,0,0,0,1.5,500
-,0,2.684ms,0,0,0,2,500,0,2.684ms,0,0,0,2,500
-,0,2.684ms,0,0,0,3,500,0,2.684ms,0,0,0,3,500
-,0,2.684ms,0,0,0,4,500,0,2.684ms,0,0,0,4,500
-,0,2.684ms,0,0,0,5,500,0,2.684ms,0,0,0,5,500
-,0,2.684ms,0,0,0,6,500,0,2.684ms,0,0,0,6,500
-,0,2.684ms,0,0,0,7,500,0,2.684ms,0,0,0,7,500
-,0,2.684ms,0,0,0,8,500,0,2.684ms,0,0,0,8,500
-,0,2.684ms,0,0,0,9,500,0,2.684ms,0,0,0,9,500
-,0,2.684ms,0,0,0,10,500,0,2.684ms,0,0,0,10,500
-,0,2.684ms,0,0,0,11,500,0,2.684ms,0,0,0,11,500
-,0,2.684ms,0,0,0,12,500,0,2.684ms,0,0,0,12,500
-,0,2.684ms,0,0,0,13,500,0,2.684ms,0,0,0,13,500
-,0,2.684ms,0,0,0,14,500,0,2.684ms,0,0,0,14,500
-,0,2.684ms,0,0,0,15,500,0,2.684ms,0,0,0,15,500
-,0,2.684ms,0,0,0,16,500,0,2.684ms,0,0,0,16,500
-,0,2.684ms,0,0,0,17,500,0,2.684ms,0,0,0,17,500
-,0,2.684ms,0,0,0,18,500,0,2.684ms,0,0,0,18,500
-,0,2.684ms,0,0,0,19,500,0,2.684ms,0,0,0,19,500
-,0,2.684ms,0,0,0,20,500,0,2.684ms,0,0,0,20,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0.25,500,0,2.684,0,0,0,0.25,500
+,0,2.684,0,0,0,0.5,500,0,2.684,0,0,0,0.5,500
+,0,2.684,0,0,0,1,500,0,2.684,0,0,0,1,500
+,0,2.684,0,0,0,1.5,500,0,2.684,0,0,0,1.5,500
+,0,2.684,0,0,0,2,500,0,2.684,0,0,0,2,500
+,0,2.684,0,0,0,3,500,0,2.684,0,0,0,3,500
+,0,2.684,0,0,0,4,500,0,2.684,0,0,0,4,500
+,0,2.684,0,0,0,5,500,0,2.684,0,0,0,5,500
+,0,2.684,0,0,0,6,500,0,2.684,0,0,0,6,500
+,0,2.684,0,0,0,7,500,0,2.684,0,0,0,7,500
+,0,2.684,0,0,0,8,500,0,2.684,0,0,0,8,500
+,0,2.684,0,0,0,9,500,0,2.684,0,0,0,9,500
+,0,2.684,0,0,0,10,500,0,2.684,0,0,0,10,500
+,0,2.684,0,0,0,11,500,0,2.684,0,0,0,11,500
+,0,2.684,0,0,0,12,500,0,2.684,0,0,0,12,500
+,0,2.684,0,0,0,13,500,0,2.684,0,0,0,13,500
+,0,2.684,0,0,0,14,500,0,2.684,0,0,0,14,500
+,0,2.684,0,0,0,15,500,0,2.684,0,0,0,15,500
+,0,2.684,0,0,0,16,500,0,2.684,0,0,0,16,500
+,0,2.684,0,0,0,17,500,0,2.684,0,0,0,17,500
+,0,2.684,0,0,0,18,500,0,2.684,0,0,0,18,500
+,0,2.684,0,0,0,19,500,0,2.684,0,0,0,19,500
+,0,2.684,0,0,0,20,500,0,2.684,0,0,0,20,500
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_static.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_static.csv
index a1bc463ab1fba999026e81949c642b7ff9d6ddc3..48ea9aa9524962d6753859865134d9762cdfdcbb 100755
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_static.csv
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_static.csv
@@ -1,21 +1,21 @@
 static,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
-,0,2.684ms,0,0,0,0,500,0,2.684ms,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
+,0,2.684,0,0,0,0,500,0,2.684,0,0,0,0,500
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_test.csv b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_test.csv
new file mode 100755
index 0000000000000000000000000000000000000000..d5bbc97814373b3206eb531b14f4bba0e311adc7
--- /dev/null
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/testscenarios/scenario_test.csv
@@ -0,0 +1,3 @@
+test,srv_pkt_loss,srv_delay,srv_jitter,srv_duplicate,srv_corrupt,srv_reorder,srv_rate,cli_pkt_loss,cli_delay,cli_jitter,cli_duplicate,cli_corrupt,cli_reorder,cli_rate
+,1,1,0,1,1,1,10000,1,1,1,1,1,0,10000
+,1,1,0,1,1,1,10000,1,1,1,1,1,1,10000
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/tmp.sh b/pq-tls-benchmark-framework/emulation-exp/code/kex/tmp.sh
index 2f392096536ccf2610c685681d70bba273b26758..925745790942601ef363dad59d95ea92a8b1b291 100644
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/tmp.sh
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/tmp.sh
@@ -9,3 +9,13 @@ SSL_CERT_FILE=../../../.local/openssl/ssl/certs/ca-certificates.crt LD_LIBRARY_P
 SSL_CERT_FILE=../../tmp/.local/openssl/ssl/certs/ca-certificates.crt LD_LIBRARY_PATH=../../tmp/.local/openssl/lib64 ./ossl-nghttp3-demo localhost:8443
 
 SSL_CERT_FILE=${INSTALL_DIR}/openssl/ssl/certs/ca-certificates.crt LD_LIBRARY_PATH=../.. ./quic-client-block localhost 8443
+
+sudo .venv/bin/python scripts/experiment.py
+
+['ip', 'netns', 'exec', 'cli_ns', 'env', 'LD_LIBRARY_PATH=../tmp/.local/openssl/lib64', './quic_s_timer', 'x448_bikel3', '20']
+b'80FB6F4E0B7F0000:error:0A0C0103:SSL routines:ch_tx:internal error:ssl/quic/quic_channel.c:2478:QUIC error code: 0x1 (INTERNAL_ERROR), reason: "internal error (txp generate)"\n80FB6F4E0B7F0000:error:0A0000CF:SSL routines:quic_do_handshake:protocol is shutdown:ssl/quic/quic_impl.c:1717:\n'
+
+ip netns exec srv_ns_4 tc qdisc change dev srv_ve root netem limit 1000 rate 10000.0mbit delay 1.0ms 0.0ms loss 1.0% duplicate 1.0% corrupt 1.0% reorder 1.0%
+results/test/quic/secLevel5/frodo1344aes.csv
+b'80FBDE34C27F0000:error:0A00017E:SSL routines:depack_do_frame_crypto:quic protocol error:ssl/quic/quic_rx_depack.c:305:QUIC error code: 0xd (CRYPTO_BUFFER_EXCEEDED) (triggered by frame type: 0x6 (CRYPTO)), reason: "exceeded maximum crypto buffer"\n80FBDE34C27F0000:error:0A0000CF:SSL routines:quic_do_handshake:protocol is shutdown:ssl/quic/quic_impl.c:1717:\n
+https://javadoc.io/doc/io.netty.incubator/netty-incubator-codec-classes-quic/latest/io/netty/incubator/codec/quic/QuicTransportError.html: An endpoint has received more data in CRYPTO frames than it can buffer.
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/setup_ns.sh b/pq-tls-benchmark-framework/emulation-exp/code/setup_ns.sh
index 0f18938ee2c779c629335c80413f9e339cada3e6..5a91bc11802af7a5e1f793b0a3fe93a875a28f00 100755
--- a/pq-tls-benchmark-framework/emulation-exp/code/setup_ns.sh
+++ b/pq-tls-benchmark-framework/emulation-exp/code/setup_ns.sh
@@ -34,14 +34,12 @@ ip netns exec ${SERVER_NS} \
 ip netns exec ${SERVER_NS} \
    ip addr add 10.0.0.1/24 dev ${SERVER_VETH}
 
-ip netns exec ${CLIENT_NS} \
-   ip addr add 10.0.0.2/24 dev ${CLIENT_VETH}
-ip netns exec ${CLIENT_NS} \
-   ip link set dev lo up
 ip netns exec ${CLIENT_NS} \
    ip link set dev ${CLIENT_VETH} up
 ip netns exec ${CLIENT_NS} \
    ip link set dev lo up
+ip netns exec ${CLIENT_NS} \
+   ip addr add 10.0.0.2/24 dev ${CLIENT_VETH}
 
 # Add neighbour objects for IP connection
 ip netns exec ${SERVER_NS} \