diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/benchmark/TheodoliteBenchmarkExecutor.kt b/theodolite-quarkus/src/main/kotlin/theodolite/benchmark/TheodoliteBenchmarkExecutor.kt
index a56eeee1a89ae681d5e526bffd242a51a4a93fcf..cb4f0312cfcd49a2d1e14f213d55ef8617899ce1 100644
--- a/theodolite-quarkus/src/main/kotlin/theodolite/benchmark/TheodoliteBenchmarkExecutor.kt
+++ b/theodolite-quarkus/src/main/kotlin/theodolite/benchmark/TheodoliteBenchmarkExecutor.kt
@@ -2,58 +2,34 @@ package theodolite.benchmark
 
 import theodolite.execution.BenchmarkExecutor
 import theodolite.execution.BenchmarkExecutorImpl
-import theodolite.strategies.restriction.LowerBoundRestriction
-import theodolite.strategies.restriction.RestrictionStrategy
-import theodolite.strategies.searchstrategy.BinarySearch
+import theodolite.strategies.StrategiesManager
 import theodolite.strategies.searchstrategy.CompositeStrategy
-import theodolite.strategies.searchstrategy.LinearSearch
-import theodolite.strategies.searchstrategy.SearchStrategy
 import theodolite.util.Config
 import theodolite.util.LoadDimension
 import theodolite.util.Resource
 import theodolite.util.Results
-import java.lang.IllegalArgumentException
 import java.time.Duration
 
 class TheodoliteBenchmarkExecutor(
     private val benchmarkContext: BenchmarkContext,
     private val kubernetesBenchmark: KubernetesBenchmark)
 {
-    private fun createSearchStrategy(executor: BenchmarkExecutor): SearchStrategy {
-       return when (this.benchmarkContext.execution.strategy) {
-           "LinearSearch" -> LinearSearch(executor)
-           "BinarySearch" -> BinarySearch(executor)
-           else -> throw  IllegalArgumentException("Search Strategy ${this.benchmarkContext.execution.strategy} not found")
-       }
-    }
-
-    private fun createRestrictionStrategy(results: Results): Set<RestrictionStrategy> {
-        var strategies = emptyList<RestrictionStrategy>()
-        strategies = this.benchmarkContext.execution.restrictions.map { restriction ->
-          when (restriction) {
-                "LowerBound" -> LowerBoundRestriction(results)
-                else -> throw  IllegalArgumentException("Restriction Strategy ${this.benchmarkContext.execution.restrictions} not found")
-            }
-        }
-        return strategies.toSet()
-    }
 
     private fun buildConfig(): Config{
-       val results = Results()
-       val executionDuration = Duration.ofSeconds(this.benchmarkContext.execution.duration)
-       val executor: BenchmarkExecutor = BenchmarkExecutorImpl(kubernetesBenchmark, results, executionDuration, this.benchmarkContext.configOverrides)
+        val results = Results()
+        val strategyManager = StrategiesManager()
+
+        val executionDuration = Duration.ofSeconds(this.benchmarkContext.execution.duration)
+        val executor = BenchmarkExecutorImpl(kubernetesBenchmark, results, executionDuration, this.benchmarkContext.configOverrides)
 
         return Config(
            loads = benchmarkContext.loads.map { number -> LoadDimension(number) },
            resources = benchmarkContext.resources.map { number -> Resource(number) },
            compositeStrategy = CompositeStrategy(
                benchmarkExecutor = executor,
-               searchStrategy = createSearchStrategy(executor),
-               restrictionStrategies = createRestrictionStrategy(results)
-           ),
-           executionDuration = executionDuration
-       )
-
+               searchStrategy = strategyManager.createSearchStrategy(executor, this.benchmarkContext.execution.strategy),
+               restrictionStrategies = strategyManager.createRestrictionStrategy(results, this.benchmarkContext.execution.restrictions)),
+           executionDuration = executionDuration)
     }
 
 
diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/k8s/TopicManager.kt b/theodolite-quarkus/src/main/kotlin/theodolite/k8s/TopicManager.kt
index 9b5ac759cb2a670b38a16ead740b953b153caee5..776572d00f4f1b311e29eca974ac27fba6e09a04 100644
--- a/theodolite-quarkus/src/main/kotlin/theodolite/k8s/TopicManager.kt
+++ b/theodolite-quarkus/src/main/kotlin/theodolite/k8s/TopicManager.kt
@@ -5,6 +5,7 @@ import org.apache.kafka.clients.admin.AdminClient
 import org.apache.kafka.clients.admin.AdminClientConfig
 import org.apache.kafka.clients.admin.ListTopicsResult
 import org.apache.kafka.clients.admin.NewTopic
+import java.util.*
 
 private val logger = KotlinLogging.logger {}
 
diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/strategies/StrategiesManager.kt b/theodolite-quarkus/src/main/kotlin/theodolite/strategies/StrategiesManager.kt
new file mode 100644
index 0000000000000000000000000000000000000000..947dc0040b6b8cbbe403c0117965c4c8d3b46882
--- /dev/null
+++ b/theodolite-quarkus/src/main/kotlin/theodolite/strategies/StrategiesManager.kt
@@ -0,0 +1,31 @@
+package theodolite.strategies
+
+import theodolite.execution.BenchmarkExecutor
+import theodolite.strategies.restriction.LowerBoundRestriction
+import theodolite.strategies.restriction.RestrictionStrategy
+import theodolite.strategies.searchstrategy.BinarySearch
+import theodolite.strategies.searchstrategy.LinearSearch
+import theodolite.strategies.searchstrategy.SearchStrategy
+import theodolite.util.Results
+import java.lang.IllegalArgumentException
+
+class StrategiesManager {
+
+    fun createSearchStrategy(executor: BenchmarkExecutor, searchStrategyString: String): SearchStrategy {
+        return when (searchStrategyString) {
+            "LinearSearch" -> LinearSearch(executor)
+            "BinarySearch" -> BinarySearch(executor)
+            else -> throw  IllegalArgumentException("Search Strategy $searchStrategyString not found")
+        }
+    }
+
+    fun createRestrictionStrategy(results: Results, restrictionStrings: List<String>): Set<RestrictionStrategy> {
+        return restrictionStrings
+            .map { restriction ->
+                when (restriction) {
+                    "LowerBound" -> LowerBoundRestriction(results)
+                    else -> throw  IllegalArgumentException("Restriction Strategy $restrictionStrings not found")
+                }
+            }.toSet()
+    }
+}
\ No newline at end of file