diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/PrioritizationMetrics.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/PrioritizationMetrics.java
index f7ca7cf2e26050170899ef2e796c8a3163353c39..972745f577ffe4734860ab00ea8946f1c7bc1c56 100644
--- a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/PrioritizationMetrics.java
+++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/PrioritizationMetrics.java
@@ -1,13 +1,26 @@
 package de.fhmuenster.masterthesis.Testgenerator.prioritization;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
 import java.util.List;
 
+import org.springframework.beans.factory.annotation.Autowired;
+
+import de.fhmuenster.masterthesis.Testgenerator.rest.service.test.TestService;
 import de.fhmuenster.masterthesis.serialization.TestgeneratorDSLSerializer;
+import de.fhmuenster.masterthesis.testgeneratorDSL.EndCheck;
 import de.fhmuenster.masterthesis.testgeneratorDSL.Flow;
 import de.fhmuenster.masterthesis.testgeneratorDSL.FlowElementReference;
+import de.fhmuenster.masterthesis.testgeneratorDSL.MockReference;
 import de.fhmuenster.masterthesis.testgeneratorDSL.Test;
+import de.fhmuenster.masterthesis.testgeneratorDSL.VariableDeclaration;
+import de.fhmuenster.masterthesis.testgeneratorDSL.VariableDeclarations;
 
 public class PrioritizationMetrics {
+	
+	@Autowired
+	private TestService testService;
 		
 	public PrioritizationMetrics() {
 		
@@ -15,11 +28,15 @@ public class PrioritizationMetrics {
 	
 	/**
 	 * Metric 1 (m1)
-	 * 
+	 * @author Tim Flicke, Henning Schmeink
 	 */
-	public void m1_flowAffected(List<Flow> newFlows, List<Flow> oldFlows) {
+	public List<Flow> m1_flowAffected(List<Flow> newFlows, List<F+low> oldFlows) {
+		List<Flow> affectedFlows = new  ArrayList<Flow>();
+		
 		try
 		{
+			
+			// NEU SCHREIBEN! Objekte iterieren
 			for(int i = 0; i < newFlows.size(); i++)
 			{
 				Flow newFlow = newFlows.get(i);
@@ -57,51 +74,128 @@ public class PrioritizationMetrics {
 					System.out.println("Equal");
 				else 
 				{
+					affectedFlows.add(newFlow);
 					System.out.println("Not Equal");
 					
-					// Specify the differences in in/excluded elements
-					
-					if(!sNewWith.toString().equals(sOldWith.toString()))
-					{
-						System.out.println("Difference in [Included] Elements");
-						System.out.println("[NEW] Flow " + sNewWith.toString());
-						System.out.println("[OLD] Flow " + sOldWith.toString());
-					}
-					else if(!sNewWithout.toString().equals(sOldWithout.toString()))
-					{
-						System.out.println("Difference in [Excluded] Elements");
-						System.out.println("[NEW] Flow " + sNewWithout.toString());
-						System.out.println("[OLD] Flow " + sOldWithout.toString());
-					}
 				}
 			}
+
 		}
 		catch(Exception e)
 		{
 			e.printStackTrace();
 		}
+		
+		return affectedFlows;
 	}
 	
+	/**
+	 * Metric 1 (m1)
+	 * @author Tim Flicke, Henning Schmeink
+	 */
+	public void m1_getTestsOfAffectedFlows(List<Flow> affectedFlows, TestgeneratorDSLSerializer newDSL) {
+		List<Test> resultList = new ArrayList<Test>();
+		
+		for(Flow flow : affectedFlows) {
+			resultList = newDSL.getTestsForFlow(flow);
+			
+			for(Test test: resultList) {
+				System.out.println("Priority for Test " + test.getName() + " + 1 (for Flow: " + flow.getName() + ")");
+			}
+		}
+	}
 	
 	
+	/**
+	 * Metric 2 (m1)
+	 * @author Tim Flicke, Henning Schmeink
+	 */
 	public void m2_testsAffected(TestgeneratorDSLSerializer newDSL, TestgeneratorDSLSerializer oldDSL) {
+				
 		try 
 		{
+			List<Test> resultNewTests = new ArrayList<Test>();
+			List<Test> resultOldTests = new ArrayList<Test>();
+			
+			// Lists with flows
 			List<Flow> newFlows = newDSL.getFlows();
 			List<Flow> oldFlows = oldDSL.getFlows();
 			
-			for(int i = 0; i < newFlows.size(); i++)
-			{				
-				List<Test> newTests = newDSL.getTestsForFlow(newFlows.get(i));
-				List<Test> oldTests = oldDSL.getTestsForFlow(oldFlows.get(i));
-								
-				//TODO
+			// New Tests from new DSL 
+			for(Flow flow : newFlows) {
+				List<Test> tests = newDSL.getTestsForFlow(flow);
+				resultNewTests.addAll(tests);
 			}
+			
+			// Old Tests from old DSL 
+			for(Flow flow : oldFlows) {
+				List<Test> tests = oldDSL.getTestsForFlow(flow);
+				resultOldTests.addAll(tests);
+			}
+			
+			for(Test newTest : resultNewTests) {
+				
+				for(Test oldTest : resultOldTests) {
+					
+					if(newTest.getName().equals(oldTest.getName()))
+					{
+						System.out.println("COMPARE TEST [NEW]" +  newTest.getName() + " to [OLD] " + oldTest.getName());
+						
+						// ==================================================================================================
+						
+						// Compare Mocks
+						Collection<String> newMocks = new ArrayList<String>();
+						Collection<String> oldMocks = new ArrayList<String>();
+						
+						for(MockReference ref : newTest.getMocks())
+							newMocks.add(ref.getRef().getName());
+						
+						for(MockReference ref : oldTest.getMocks())
+							oldMocks.add(ref.getRef().getName());
+						
+						// Compare size of Mocks
+						if(newMocks.size() != oldMocks.size())
+							System.out.println("Deleted/Added Mock - Change detected");	// change detected 
+						
+						// NewMocks contains all Mocks from old DSL
+						if(!newMocks.containsAll(oldMocks))
+							System.out.println("New DSL doesnt contains all mocks from old DSL"); // change detected
 						
+						// ==================================================================================================					
+						
+						// Compare Checks						
+						Collection<String> newChecks = new ArrayList<String>();
+						Collection<String> oldChecks = new ArrayList<String>();
+						
+						
+
+						for(EndCheck ref : newTest.getEndCheck().getEndChecks())
+							System.out.println(ref); 	// Nur Value brauchen den Key
+							
+						// ==================================================================================================
+						
+						// Compare Variables
+						Collection<String> newVar = new ArrayList<String>();
+						Collection<String> oldVar = new ArrayList<String>();
+						
+						for(VariableDeclarations ref : newTest.getDeclarations())
+						{
+							System.out.println(ref);
+							
+							for(VariableDeclaration var : ref.getVariables())
+							{
+								System.out.println(var);
+							}
+						}
+					}
+				}				
+			}
+			
 		}
 		catch(Exception e)
 		{
 			e.printStackTrace();
-		}		
-	}
+		}
+
+	}	
 }
diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/PrioritizationService.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/PrioritizationService.java
index dc4e9960ec5adb57b4e8ad87702aa3111c3322d8..6c870f57e0534d69cd2684f10d7cdc76f5111bbc 100644
--- a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/PrioritizationService.java
+++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/PrioritizationService.java
@@ -1,11 +1,16 @@
 package de.fhmuenster.masterthesis.Testgenerator.prioritization;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import de.fhmuenster.masterthesis.Testgenerator.rest.mapper.ObjectMapper;
 import de.fhmuenster.masterthesis.Testgenerator.rest.service.flow.FlowService;
 import de.fhmuenster.masterthesis.Testgenerator.rest.service.project.ProjectService;
 import de.fhmuenster.masterthesis.Testgenerator.rest.service.test.TestService;
 import de.fhmuenster.masterthesis.serialization.TestgeneratorDSLSerializer;
+import de.fhmuenster.masterthesis.testgeneratorDSL.Flow;
+import de.fhmuenster.masterthesis.testgeneratorDSL.Test;
 
 public class PrioritizationService {
 
@@ -33,11 +38,18 @@ public class PrioritizationService {
 
 	public void prioritize() {
 		
+		// Affected Flows
+		List<Flow> affectedFlows = new ArrayList<Flow>();
+		List<Test> affectedTests = new ArrayList<Test>();
+		
 		// compare old and new flows
-		this.metrics.m1_flowAffected(newDSL.getFlows(), oldDSL.getFlows());	
-				
+		affectedFlows = this.metrics.m1_flowAffected(newDSL.getFlows(), oldDSL.getFlows());	
+		this.metrics.m1_getTestsOfAffectedFlows(affectedFlows, newDSL);
+		
 		// compare old and new tests
 		this.metrics.m2_testsAffected(newDSL, oldDSL);
+		
+		//testService.get
 	}
 		
 }
diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/rest/service/change/ChangeController.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/rest/service/change/ChangeController.java
index d8e85e6fa56956b4289709eb54b9d43530d9a9af..a2959a3aa7ea83f1c3693dc3f47b1e74774e9ef1 100644
--- a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/rest/service/change/ChangeController.java
+++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/rest/service/change/ChangeController.java
@@ -277,7 +277,6 @@ public class ChangeController {
 			// PrioritizationService erzeugen anhand der alten und neuen DSL
 			PrioritizationService prioritizationService = new PrioritizationService(oldDSL, newDSL);
 			prioritizationService.prioritize();
-			
 		}
 		catch (Exception e) {
 			e.printStackTrace();