diff --git a/tools.descartes.dql.connector.kieker.tests/src/tools/descartes/dql/connector/kieker/tests/CpuUtilizationTest.java b/tools.descartes.dql.connector.kieker.tests/src/tools/descartes/dql/connector/kieker/tests/CpuUtilizationTest.java
index 3a5d9e085ced0242f91106b4a9d923e92e8fe68c..22e1403fc3031f1368156f3ac99e4908eba91ff2 100644
--- a/tools.descartes.dql.connector.kieker.tests/src/tools/descartes/dql/connector/kieker/tests/CpuUtilizationTest.java
+++ b/tools.descartes.dql.connector.kieker.tests/src/tools/descartes/dql/connector/kieker/tests/CpuUtilizationTest.java
@@ -29,7 +29,7 @@ public class CpuUtilizationTest {
 		EntityMapping request = mappingFactory.createEntityMapping();
 		request.setModelLocation(modelLocation);
 		Entity res1 = DomainFactory.eINSTANCE.createEntity();
-		res1.setEntityType("RESSOURCE");
+		res1.setEntityType("RESOURCE");
 		Probe p = DomainFactory.eINSTANCE.createProbe();
 		p.setMetricName("utilization");
 		StatType st = DomainFactory.eINSTANCE.createStatType();
diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerHelper.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerHelper.java
index e7d92108181549a329658c0d9f9d0f54350dd45e..89de58d93437968ae73a3992862da8faa96baf3b 100644
--- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerHelper.java
+++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerHelper.java
@@ -21,7 +21,9 @@ import org.eclipse.emf.common.util.EList;
 
 import kieker.common.configuration.Configuration;
 import tools.descartes.dql.connector.kieker.structures.Component;
+import tools.descartes.dql.connector.kieker.structures.Resource;
 import tools.descartes.dql.connector.kieker.structures.Trace;
+import tools.descartes.dql.connector.kieker.structures.identifier.ResourceIdentifier;
 import tools.descartes.dql.connector.kieker.structures.records.EventRecord;
 import tools.descartes.dql.connector.kieker.structures.records.ResourceRecord;
 import tools.descartes.dql.core.engine.util.DQLLogger;
@@ -379,124 +381,4 @@ public class KiekerHelper {
 		}
 	}
 	
-	
-	
-	
-	
-	
-
-	/* Modifies response to include the results of Kieker */
-	public static void processPerformanceResults(EntityMapping response, Trace kiekerResults, long firstTs) {
-		
-		
-		List<ResourceRecord> resources = kiekerResults.getResources();
-		Map<Component, Trace> services = kiekerResults.getComponentToTraceMap();
-
-
-		
-		
-		// browse through each entity and its probes 
-		//   and try to replace the probe with a result
-		for (Entity ent : response.getEntities()) {
-			for (Probe dqlProbe : ent.getProbes()) {		
-				for (StatType st : dqlProbe.getStatTypes()) { 
-					if (KiekerHelper.METRIC_UTILIZATION.equalsIgnoreCase(dqlProbe.getMetricName())) {
-							if (st.getTypeName().equals("DEFAULT") || st.getTypeName().equals("SAMPLE")){
-								ContinuousSeriesResult result = DomainFactory.eINSTANCE.createContinuousSeriesResult();
-								result.setXAxisDescription("ms");
-								result.setYAxisDescription("% (between 0 and 1)");
-							if (resources != null  && resources.size() > 0) {
-									try {
-										for (ResourceRecord record : resources) {
-											if (record.getIdentifier().getRessourceName().equals(ent.getIdentifier())){
-												//System.out.println("ADDING for "+ent.getIdentifier()+": Time" +record.getTimestamp()+" / Util: "+record.getContent().get(2));
-												result.getElements().add(KiekerHelper.getSeriesResultElement(record.getTimestamp(), record.getContent().get(2), firstTs));
-											}
-										}
-										result.setValid(true);
-										} catch (NumberFormatException exc) {
-											result.setValid(false);
-										}
-										st.setResult(result);
-								}
-								
-						}  else {
-							// do nothing
-						}
-					} else if (KiekerHelper.METRIC_RESPONSE_TIME.equalsIgnoreCase(dqlProbe.getMetricName())) {
-						if (st.getTypeName().equals("DEFAULT") || st.getTypeName().equals("SAMPLE")){
-							ContinuousSeriesResult res = DomainFactory.eINSTANCE.createContinuousSeriesResult();
-							res.setXAxisDescription("ms");
-							res.setYAxisDescription("ms");
-							if (services != null) {
-							try {
-									Component comp = new Component(KiekerHelper.getComponentString(ent.getIdentifier()));
-									Trace tr = services.get(comp);
-									if (tr != null && tr.getEvents().size()>0){
-										for (EventRecord er : tr.getEvents()) {
-											String dqlId = ent.getIdentifier();
-											
-											String kiekerId = er.getIdentifier().getComponentID();
-											if (er.getIdentifier().isInterfaceIdentifier()){
-												kiekerId += "." + er.getIdentifier().getInterfaceID();
-											}
-											if (dqlId.equals(kiekerId)) {
-												res.getElements().add(KiekerHelper.getSeriesResultElement(er.getTimestamp(), er.getRuntime(), firstTs));
-											}
-
-										}
-										res.setValid(true);
-									}
-									
-								} catch (NumberFormatException exc) {
-									res.setValid(false);
-								}
-								st.setResult(res);
-							}
-						}
-						
-					}
-					
-				}
-			}
-		}
-
-	}
-	
-	
-	
-	
-	
-	public static void processModelStructureResults(EntityMapping response, Trace kiekerResults) {
-		List<ResourceRecord> resources = kiekerResults.getResources();
-		List<EventRecord> events = kiekerResults.getEvents();
-		
-		final Map<String, String> resourceIdentifiers = new HashMap<>();
-		final Map<String, String> serviceIdentifiers = new HashMap<>();
-		
-		 final EList<Entity> entities = response.getEntities();
-		 for (ResourceRecord record: resources ) {
-			 resourceIdentifiers.put(record.getIdentifier().getRessourceName(), "");
-	 	 }
-		 for (EventRecord record: events ) {
-			 if (record.getIdentifier().getInterfaceID() != null && !record.getIdentifier().getInterfaceID().equals("")){
-				 serviceIdentifiers.put(record.getIdentifier().getComponentID()+"."+record.getIdentifier().getInterfaceID(), "");
-			 } else {
-				 serviceIdentifiers.put(record.getIdentifier().getComponentID(), "");
-			 }
-	 	 }
-		 
-		 for (String identifier: resourceIdentifiers.keySet() ) {
-			 Entity entity = DomainFactory.eINSTANCE.createEntity();
-			 entity.setEntityType("RESOURCE");
-			 entity.setIdentifier(identifier);
-			 entities.add(entity);
-	 	 }
-		 for (String identifier: serviceIdentifiers.keySet() ) {
-			 Entity entity = DomainFactory.eINSTANCE.createEntity();
-			 entity.setEntityType("SERVICE");
-			 entity.setIdentifier(identifier);
-			 entities.add(entity);
-	 	 }
-	}
 }
diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/ModelStructureQueryConnectorImpl.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/ModelStructureQueryConnectorImpl.java
index 3c8023280feee60fc4d7281827c631d6a53967d1..2f284611adfce54d365dae7cf23370323613b4bd 100644
--- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/ModelStructureQueryConnectorImpl.java
+++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/ModelStructureQueryConnectorImpl.java
@@ -20,6 +20,7 @@ import tools.descartes.dql.core.engine.util.DQLLogger;
 import tools.descartes.dql.models.mapping.domain.DomainFactory;
 import tools.descartes.dql.models.mapping.domain.Entity;
 import tools.descartes.dql.models.mapping.domain.Probe;
+import tools.descartes.dql.models.mapping.domain.StatType;
 import tools.descartes.dql.models.mapping.domain.impl.DomainFactoryImpl;
 import tools.descartes.dql.models.mapping.mapping.EntityMapping;
 
@@ -76,18 +77,18 @@ public class ModelStructureQueryConnectorImpl extends AbstractOSGiQueryConnector
 		KiekerManager manager = new KiekerManager(request);
 		manager.run();
 		final Trace queryResults = manager.getAnalysisResult();
-		KiekerHelper.processModelStructureResults(response,queryResults);
+		processListEntitiesResults(response,queryResults);
 
 		return response;
 	}
 
 	@Override
 	public EntityMapping requestProbes(final EntityMapping request) {
-		// Load and validate Model
-
+		
 		final EntityMapping response = EcoreUtil.copy(request);
-		// processProbesForServices(response.getServices());
-		// processProbesForResources(response.getResources());
+		
+		processListMetricsResults(response);
+
 		return response;
 	}
 
@@ -113,5 +114,68 @@ public class ModelStructureQueryConnectorImpl extends AbstractOSGiQueryConnector
 	}
 	
 	
+	private void processListEntitiesResults(EntityMapping response, Trace kiekerResults) {
+		List<ResourceRecord> resources = kiekerResults.getResources();
+		List<EventRecord> events = kiekerResults.getEvents();
+		
+		final Map<String, String> resourceIdentifiers = new HashMap<>();
+		final Map<String, String> serviceIdentifiers = new HashMap<>();
+		
+		 final EList<Entity> entities = response.getEntities();
+		 for (ResourceRecord record: resources ) {
+			 resourceIdentifiers.put(record.getIdentifier().getRessourceName(), "");
+	 	 }
+		 for (EventRecord record: events ) {
+			 if (record.getIdentifier().getInterfaceID() != null && !record.getIdentifier().getInterfaceID().equals("")){
+				 serviceIdentifiers.put(record.getIdentifier().getComponentID()+"."+record.getIdentifier().getInterfaceID(), "");
+			 } else {
+				 serviceIdentifiers.put(record.getIdentifier().getComponentID(), "");
+			 }
+	 	 }
+		 
+		 for (String identifier: resourceIdentifiers.keySet() ) {
+			 Entity entity = DomainFactory.eINSTANCE.createEntity();
+			 entity.setEntityType("RESOURCE");
+			 entity.setIdentifier(identifier);
+			 entities.add(entity);
+	 	 }
+		 for (String identifier: serviceIdentifiers.keySet() ) {
+			 Entity entity = DomainFactory.eINSTANCE.createEntity();
+			 entity.setEntityType("SERVICE");
+			 entity.setIdentifier(identifier);
+			 entities.add(entity);
+	 	 }
+	}
+	
+	private void processListMetricsResults(EntityMapping response) {
+
+		for (Entity ent : response.getEntities()) {
+			if  (ent.getEntityType().equals("RESOURCE")){
+				Probe probe = DomainFactory.eINSTANCE.createProbe();
+				probe.setMetricName(KiekerHelper.METRIC_UTILIZATION);
+				StatType def = DomainFactory.eINSTANCE.createStatType();
+				def.setTypeName("DEFAULT");
+				StatType samp = DomainFactory.eINSTANCE.createStatType();
+				samp.setTypeName("SAMPLE");
+				probe.getStatTypes().add(def);
+				probe.getStatTypes().add(samp);
+				ent.getProbes().add(probe);
+			} else  if (ent.getEntityType().equals("SERVICE")){
+				Probe probe = DomainFactory.eINSTANCE.createProbe();
+				probe.setMetricName(KiekerHelper.METRIC_RESPONSE_TIME);
+				StatType def = DomainFactory.eINSTANCE.createStatType();
+				def.setTypeName("DEFAULT");
+				StatType samp = DomainFactory.eINSTANCE.createStatType();
+				samp.setTypeName("SAMPLE");
+				probe.getStatTypes().add(def);
+				probe.getStatTypes().add(samp);
+				ent.getProbes().add(probe);
+			}
+			
+		}
+
+	}
+	
+	
 
 }
diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/PerformanceMetricsQueryConnectorImpl.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/PerformanceMetricsQueryConnectorImpl.java
index 47466fc44a496e0e33bc85e5f837524eba4cabcb..3696abb501ac094cba2d8541720ab8074e0f2533 100644
--- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/PerformanceMetricsQueryConnectorImpl.java
+++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/PerformanceMetricsQueryConnectorImpl.java
@@ -23,7 +23,9 @@ import tools.descartes.dql.connector.QueryProgressListener;
 import tools.descartes.dql.connector.kieker.configgenerator.XMLGenerationManager;
 import tools.descartes.dql.connector.kieker.filter.KiekerAnalysisController;
 import tools.descartes.dql.connector.kieker.structures.Component;
+import tools.descartes.dql.connector.kieker.structures.Resource;
 import tools.descartes.dql.connector.kieker.structures.Trace;
+import tools.descartes.dql.connector.kieker.structures.identifier.ResourceIdentifier;
 import tools.descartes.dql.connector.kieker.structures.records.EventRecord;
 import tools.descartes.dql.connector.kieker.structures.records.ResourceRecord;
 import tools.descartes.dql.models.mapping.domain.ContinuousSeriesResult;
@@ -55,12 +57,86 @@ public class PerformanceMetricsQueryConnectorImpl extends
 
 		// Process the trace back to a DQL result
 		// Kieker ergebnisse filtern
-		KiekerHelper.processPerformanceResults(response, result, firstTs);
+		processPerformanceResults(response, result, firstTs);
 		return response;
 	}
 
 	
+	/* Modifies response to include the results of Kieker */
+	private void processPerformanceResults(EntityMapping response, Trace kiekerResults, long firstTs) {
+	
+		Map<Resource, Trace> resources = kiekerResults.getResourceToTraceMap();
+		Map<ResourceIdentifier, Resource> resourceIds = kiekerResults.getResourceIdentifierToResourceMap();
+		Map<Component, Trace> services = kiekerResults.getComponentToTraceMap();
+
+		// browse through each entity and its probes 
+		//   and try to replace the probe with a result
+		for (Entity ent : response.getEntities()) {
+			for (Probe dqlProbe : ent.getProbes()) {		
+				for (StatType st : dqlProbe.getStatTypes()) { 
+					if (KiekerHelper.METRIC_UTILIZATION.equalsIgnoreCase(dqlProbe.getMetricName())) {
+							if (st.getTypeName().equals("DEFAULT") || st.getTypeName().equals("SAMPLE")){
+								ContinuousSeriesResult result = DomainFactory.eINSTANCE.createContinuousSeriesResult();
+								result.setXAxisDescription("ms");
+								result.setYAxisDescription("% (between 0 and 1)");
+								ResourceIdentifier dqlId = ResourceIdentifier.createResourceIdentifier("", ent.getIdentifier());
+								Resource res = resourceIds.get(dqlId);
+								if (res != null  &&  resources.get(res)!= null && resources.get(res).getResources().size()> 0) {	
+							
+									try {
+										for (ResourceRecord record : resources.get(res).getResources()) {
+												//System.out.println("ADDING for "+ent.getIdentifier()+": Time" +record.getTimestamp()+" / Util: "+record.getContent().get(2));
+												result.getElements().add(KiekerHelper.getSeriesResultElement(record.getTimestamp(), record.getContent().get(2), firstTs));
+										}
+										result.setValid(true);
+										} catch (NumberFormatException exc) {
+											result.setValid(false);
+										}
+										st.setResult(result);
+								}
+								
+						}  else {
+							// do nothing
+						}
+					} else if (KiekerHelper.METRIC_RESPONSE_TIME.equalsIgnoreCase(dqlProbe.getMetricName())) {
+						if (st.getTypeName().equals("DEFAULT") || st.getTypeName().equals("SAMPLE")){
+							ContinuousSeriesResult res = DomainFactory.eINSTANCE.createContinuousSeriesResult();
+							res.setXAxisDescription("ms");
+							res.setYAxisDescription("ms");
+							if (services != null) {
+							try {
+									Component comp = new Component(KiekerHelper.getComponentString(ent.getIdentifier()));
+									Trace tr = services.get(comp);
+									if (tr != null && tr.getEvents().size()>0){
+										for (EventRecord er : tr.getEvents()) {
+											String dqlId = ent.getIdentifier();
+											
+											String kiekerId = er.getIdentifier().getComponentID();
+											if (er.getIdentifier().isInterfaceIdentifier()){
+												kiekerId += "." + er.getIdentifier().getInterfaceID();
+											}
+											if (dqlId.equals(kiekerId)) {
+												res.getElements().add(KiekerHelper.getSeriesResultElement(er.getTimestamp(), er.getRuntime(), firstTs));
+											}
+
+										}
+										res.setValid(true);
+									}
+									
+								} catch (NumberFormatException exc) {
+									res.setValid(false);
+								}
+								st.setResult(res);
+							}
+						}
+						
+					}
+					
+				}
+			}
+		}
 
+	}
 	
 	
 	
diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerAnalysisController.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerAnalysisController.java
index c7ad12b3abc6f8be056db1d872f854458048ff7c..944862c9f025557576ae37b1987956e727e32ea6 100644
--- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerAnalysisController.java
+++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerAnalysisController.java
@@ -76,7 +76,6 @@ public class KiekerAnalysisController {
 		KiekerTraceLoader loader = new KiekerTraceLoader(t);
 		t =loader.loadKiekerTraceFromDirectories(traceDirectories.toArray(new String[traceDirectories.size()]));
 		this.trace = t.initializeMaps(ignoreHost);
-		loader.clearMaps();
 
 	}
 
diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerTraceLoader.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerTraceLoader.java
index 14f56ef995b5c04a9faa4006b66c66aa9ad4083c..06f4e68153b6b40d33cccab5e9144d97605cd7e6 100644
--- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerTraceLoader.java
+++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerTraceLoader.java
@@ -28,12 +28,13 @@ public class KiekerTraceLoader {
 	}
 
 	public Trace loadKiekerTraceFromDirectories(String[] kiekerInputDirs) {
+		clearMaps();
 		KiekerReader kiekerReader = new KiekerReader(kiekerInputDirs);
 		kiekerReader.read();
 		return fetchInformationFromMaps();
 	}
 	
-	public void clearMaps(){
+	private void clearMaps(){
 		ClassMap.getInstance().clear();
 		InterfaceMap.getInstance().clear();
 		ResourceMap.getInstance().clear();