diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/ConfigMapResourceSet.kt b/theodolite/src/main/kotlin/theodolite/benchmark/ConfigMapResourceSet.kt
index 3bfad3ccd928879d3d86458fd91194cd36daeef7..ac9e9898061cac2b232c5a4ff3fe9dc1973e9f8d 100644
--- a/theodolite/src/main/kotlin/theodolite/benchmark/ConfigMapResourceSet.kt
+++ b/theodolite/src/main/kotlin/theodolite/benchmark/ConfigMapResourceSet.kt
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import io.fabric8.kubernetes.api.model.KubernetesResource
 import io.fabric8.kubernetes.client.DefaultKubernetesClient
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import io.quarkus.runtime.annotations.RegisterForReflection
 import mu.KotlinLogging
 import theodolite.k8s.resourceLoader.K8sResourceLoaderFromString
 import theodolite.util.YamlParserFromString
@@ -11,17 +12,17 @@ import theodolite.util.YamlParserFromString
 private val logger = KotlinLogging.logger {}
 private const val DEFAULT_NAMESPACE = "default"
 
+@RegisterForReflection
 @JsonDeserialize
-class ConfigMapResourceSet: ResourceSet {
+class ConfigMapResourceSet: ResourceSet, KubernetesResource {
     lateinit var configmap: String
     lateinit var files: List<String> // load all files, iff files is not set
-    private val namespace = System.getenv("NAMESPACE") ?: DEFAULT_NAMESPACE
-    private val client: NamespacedKubernetesClient = DefaultKubernetesClient().inNamespace(namespace)
-    private val loader = K8sResourceLoaderFromString(client)
-
 
     @OptIn(ExperimentalStdlibApi::class)
     override fun getResourceSet(): List<Pair<String, KubernetesResource>> {
+        val namespace = System.getenv("NAMESPACE") ?: DEFAULT_NAMESPACE
+        val client: NamespacedKubernetesClient = DefaultKubernetesClient().inNamespace(namespace)
+        val loader = K8sResourceLoaderFromString(client)
 
         var resources = client
             .configMaps()
@@ -42,7 +43,7 @@ class ConfigMapResourceSet: ResourceSet {
                 it) }
             .map {
                 Pair(
-                it.first,
+                it.second.key,
                 loader.loadK8sResource(it.first, it.second.value)) }
     }
 
diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/FileSystemResourceSet.kt b/theodolite/src/main/kotlin/theodolite/benchmark/FileSystemResourceSet.kt
index 6866fcf8a07668d28ca7b0a59848817012d1dd00..dbedee6c85111b6ed72a640f66611fab4bdde823 100644
--- a/theodolite/src/main/kotlin/theodolite/benchmark/FileSystemResourceSet.kt
+++ b/theodolite/src/main/kotlin/theodolite/benchmark/FileSystemResourceSet.kt
@@ -3,6 +3,7 @@ package theodolite.benchmark
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import io.fabric8.kubernetes.api.model.KubernetesResource
 import io.fabric8.kubernetes.client.DefaultKubernetesClient
+import io.quarkus.runtime.annotations.RegisterForReflection
 import mu.KotlinLogging
 import theodolite.k8s.resourceLoader.K8sResourceLoaderFromFile
 import theodolite.util.DeploymentFailedException
@@ -12,13 +13,11 @@ import java.io.File
 private val logger = KotlinLogging.logger {}
 private const val DEFAULT_NAMESPACE = "default"
 
+@RegisterForReflection
 @JsonDeserialize
-class FileSystemResourceSet: ResourceSet {
+class FileSystemResourceSet: ResourceSet, KubernetesResource {
     lateinit var path: String
     lateinit var files: List<String>
-    private val parser = YamlParserFromFile()
-    private val namespace = System.getenv("NAMESPACE") ?: DEFAULT_NAMESPACE
-    private val loader = K8sResourceLoaderFromFile(DefaultKubernetesClient().inNamespace(namespace))
 
     override fun getResourceSet(): List<Pair<String, KubernetesResource>> {
 
@@ -42,6 +41,10 @@ class FileSystemResourceSet: ResourceSet {
     }
 
     private fun loadSingleResource(resourceURL: String): Pair<String, KubernetesResource> {
+        val parser = YamlParserFromFile()
+        val namespace = System.getenv("NAMESPACE") ?: DEFAULT_NAMESPACE
+        val loader = K8sResourceLoaderFromFile(DefaultKubernetesClient().inNamespace(namespace))
+
         val resourcePath = "$path/$resourceURL"
         val kind = parser.parse(resourcePath, HashMap<String, String>()::class.java)?.get("kind")!!
         val k8sResource = loader.loadK8sResource(kind, resourcePath)
diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/ResourceSet.kt b/theodolite/src/main/kotlin/theodolite/benchmark/ResourceSet.kt
index 2a0ce3966a1a45c3351a943b5e8178cf9e44378f..974e06858e0f761f5e7b370cb14cdb2dc5c345af 100644
--- a/theodolite/src/main/kotlin/theodolite/benchmark/ResourceSet.kt
+++ b/theodolite/src/main/kotlin/theodolite/benchmark/ResourceSet.kt
@@ -1,8 +1,12 @@
 package theodolite.benchmark
 
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import io.fabric8.kubernetes.api.model.KubernetesResource
+import io.quarkus.runtime.annotations.RegisterForReflection
 
-interface ResourceSet {
+@RegisterForReflection
+@JsonDeserialize
+interface ResourceSet: KubernetesResource {
 
     fun getResourceSet(): List<Pair<String, KubernetesResource>>
 }
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/ResourceSets.kt b/theodolite/src/main/kotlin/theodolite/benchmark/ResourceSets.kt
index 1d5a2dc0e90a0bd14b7c0cc426f90aaed2a6cada..f7b3dac8025b3d5e93a2ae52a13fdd8743037a46 100644
--- a/theodolite/src/main/kotlin/theodolite/benchmark/ResourceSets.kt
+++ b/theodolite/src/main/kotlin/theodolite/benchmark/ResourceSets.kt
@@ -13,16 +13,16 @@ import theodolite.util.DeploymentFailedException
 @JsonInclude(JsonInclude.Include.NON_NULL)
 class ResourceSets: KubernetesResource {
     @JsonProperty("ConfigMapResourceSet")
-    val ConfigMapResourceSet: ConfigMapResourceSet? = null
+    lateinit var  ConfigMapResourceSet: ConfigMapResourceSet
 
     @JsonProperty("FileSystemResourceSet")
-    val FileSystemResourceSet: FileSystemResourceSet? = null
+    lateinit var FileSystemResourceSet: FileSystemResourceSet
 
     fun loadResourceSet(): List<Pair<String, KubernetesResource>> {
         return try {
-            if (ConfigMapResourceSet != null) {
+            if (::ConfigMapResourceSet.isInitialized) {
                 ConfigMapResourceSet.getResourceSet()
-            } else if (FileSystemResourceSet != null) {
+            } else if (::FileSystemResourceSet.isInitialized) {
                 FileSystemResourceSet.getResourceSet()
             } else {
                 throw  DeploymentFailedException("could not load resourceSet.")
@@ -30,6 +30,5 @@ class ResourceSets: KubernetesResource {
         } catch (e: Exception) {
             throw e
         }
-
     }
 }
\ No newline at end of file