diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/FlowChangeWrapper.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/FlowChangeWrapper.java
index 43f943a5600510924a3ae4bcd34980c30865f714..49ec4494b987f3686213daa7b6c04ec4392e0115 100644
--- a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/FlowChangeWrapper.java
+++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/FlowChangeWrapper.java
@@ -87,9 +87,9 @@ public class FlowChangeWrapper {
 		dto.setFlowElement(flowElementDTO);
 		
 		MigrationResultDTO migrationResultDTO = new MigrationResultDTO();
-		migrationResultDTO.setPriority(this.getMigrationResult().getPriority());
 		
 		migrationResultDTO.setPriority(this.getMigrationResult().getPriority());
+		
 		migrationResultDTO.setStatus(this.getMigrationResult().getStatus().name());
 		
 		dto.setMigrationResult(migrationResultDTO);
diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/MigrationService.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/MigrationService.java
index 70a08eb15dfb97e85900d48314f111b932019775..aea5bf6112604eeb16715674ed1e0287ad7bd20a 100644
--- a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/MigrationService.java
+++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/MigrationService.java
@@ -9,9 +9,13 @@ import javax.annotation.PostConstruct;
 
 import org.eclipse.emf.common.util.BasicEList;
 import org.eclipse.emf.common.util.EList;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import de.fhmuenster.masterthesis.Testgenerator.rest.dto.MigrationResultWrapperDTO;
+import de.fhmuenster.masterthesis.Testgenerator.rest.service.change.ChangeService;
+import de.fhmuenster.masterthesis.Testgenerator.rest.service.test.TestService;
+import de.fhmuenster.masterthesis.Testgenerator.yaml.MigrationResultStatus;
 import de.fhmuenster.masterthesis.Testgenerator.yaml.MigrationYaml;
 import de.fhmuenster.masterthesis.Testgenerator.yaml.YamlReader;
 import de.fhmuenster.masterthesis.serialization.TestgeneratorDSLSerializer;
@@ -33,6 +37,9 @@ public class MigrationService {
 	
 	private MigrationYaml yaml;
 	
+	@Autowired
+	private ChangeService changeService;
+	
 	public MigrationService() {
 	}
 	
@@ -47,8 +54,6 @@ public class MigrationService {
 		MigrationResultWrapper migrationResultWrapper = new MigrationResultWrapper();
 		List<FlowChangeWrapper> result = new ArrayList<>();
 		
-		//oldDSL.getVariables().get(0).
-		
 		// 1. Schritt: Prüfen, ob in einem Flow neue Elemente hinzugekommen sind
 		List<FlowChangeWrapper> activityAddActionResults = detectActivityAddActions(oldDSL.getFlows(), newDSL.getFlows());
 		transferResultsToCorrespondingCategory(migrationResultWrapper, activityAddActionResults);
@@ -64,10 +69,20 @@ public class MigrationService {
 	
 	private List<FlowChangeWrapper> detectActivityAddActions(List<Flow> oldFlows, List<Flow> newFlows) {
 		List<FlowChangeWrapper> result = new ArrayList<>();
+		
+		//Flow Matching
+		Flow [][] matchingFlows = this.changeService.compareFlows(newFlows, oldFlows);
+		
+		for(int i=0; i < matchingFlows.length; i++) {
+			result.addAll(compareFlowsForAddAction(matchingFlows[i][1], matchingFlows[i][0]));
+		}
+		
 		//Flows miteinander vergleichen
+		/*
 		for(int i=0; i < oldFlows.size(); i++) {
 			result.addAll(compareFlowsForAddAction(oldFlows.get(i), newFlows.get(i)));
 		}
+		*/
 		
 		return result;
 	}
@@ -95,12 +110,22 @@ public class MigrationService {
 		
 		for(FlowElementReference e : addedFlowElements) {
 			if(e.getRef() instanceof ManualTaskFlowElement) {
-				result.add(new FlowChangeWrapper(newFlow, ActionType.ACTIVITY_ADD_MANUAL_TASK,
-						e.getRef(), yaml.getActivity().getAdd().getManualTask()));
+				FlowChangeWrapper fcw = new FlowChangeWrapper(newFlow, ActionType.ACTIVITY_ADD_MANUAL_TASK,
+						e.getRef(), yaml.getActivity().getAdd().getManualTask());
+				if(fcw.getMigrationResult().getPriority() == null) {
+					fcw.getMigrationResult().setPriority(this.loadGlobalPriority(fcw.getMigrationResult().getStatus(), yaml));
+				}
+				
+				result.add(fcw);
 			}
 			if(e.getRef() instanceof UserTaskFlowElement) {
-				result.add(new FlowChangeWrapper(newFlow, ActionType.ACTIVITY_ADD_USER_TASK,
-						e.getRef(), yaml.getActivity().getAdd().getManualTask()));
+				FlowChangeWrapper fcw = new FlowChangeWrapper(newFlow, ActionType.ACTIVITY_ADD_USER_TASK,
+						e.getRef(), yaml.getActivity().getAdd().getUserTask());
+				if(fcw.getMigrationResult().getPriority() == null) {
+					fcw.getMigrationResult().setPriority(this.loadGlobalPriority(fcw.getMigrationResult().getStatus(), yaml));
+				}
+				
+				result.add(fcw);
 			}
 			if(e.getRef() instanceof BusinessRuleTaskFlowElement) {
 				BusinessRuleTaskFlowElement element = (BusinessRuleTaskFlowElement) e.getRef();
@@ -153,4 +178,24 @@ public class MigrationService {
 		
 		return dto;
 	}
+	
+	private Integer loadGlobalPriority(MigrationResultStatus status, MigrationYaml yaml) {
+		Integer globalPriority = 0;
+		switch(status) {
+		case GREEN:
+			globalPriority = yaml.getConfiguration().getGreen();
+			break;
+		case YELLOW:
+			globalPriority = yaml.getConfiguration().getYellow();
+			break;
+		case RED:
+			globalPriority = yaml.getConfiguration().getRed();
+			break;
+		default:
+			globalPriority = yaml.getConfiguration().getGreen();
+			break;
+		}
+		
+		return globalPriority;
+	}
 }
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 7c29fa92a78a053ab5ba89bb296689acde67220d..c5d0fafca5adb8824298a84b7dc4fdfd02299ffb 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
@@ -4,8 +4,10 @@ import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -57,6 +59,8 @@ public class ChangeController {
 	private ChangeService changeService;
 	@Autowired
 	private MigrationService migrationService;
+	@Autowired
+	private TestService testService;
 	
 	@RequestMapping(path = "/project/{projectId}/match", method = RequestMethod.GET)
 	public void getNewFlows(@PathVariable(required = true) Long projectId) {
@@ -91,10 +95,33 @@ public class ChangeController {
 		Project project = projectService.getProjectForId(projectId);
 		
 		MigrationResultWrapperDTO migrationResultWrapperDTO = new MigrationResultWrapperDTO();
-		//Alte und neue DSL einlesen
+		
+		//Alte DSL kopieren und neu generieren
 		Path testFilePath = ProjectDirectoryUtils.getTestspecificationPath(project.getProjectDirectories());
+		Path source = Paths.get(testFilePath.toString());
+		Path target = Paths.get(project.getProjectDirectories().getProjectRootPath().toString(),
+				project.getProjectDirectories().getModelPath(), this.projectService.getBackupFolderName(),
+				"Testcollection.bpmn-testgen");
+		
+		try {
+			Files.move(source,  target, StandardCopyOption.REPLACE_EXISTING);
+		}
+		catch(Exception e) {
+			
+		}
+		
+		
+		
+		//Path testFilePath = ProjectDirectoryUtils.getTestspecificationPath(project.getProjectDirectories());
 		Path newDSLFile = Paths.get(testFilePath.toString());
-		Path oldDSLFile = Paths.get(project.getProjectDirectories().resolveTestPath(), "Testcollection-old.bpmn-testgen");
+		//Path oldDSLFile = Paths.get(project.getProjectDirectories().resolveTestPath(), "Testcollection-old.bpmn-testgen");
+		Path oldDSLFile = Paths.get(project.getProjectDirectories().getProjectRootPath().toString(),
+				project.getProjectDirectories().getModelPath(), this.projectService.getBackupFolderName(),
+				"Testcollection.bpmn-testgen");
+		
+		testService.initLoops(project);
+		testService.initTestcollection(project);
+		
 		try {
 			TestgeneratorDSLSerializer oldDSL = new TestgeneratorDSLSerializer(oldDSLFile.toString());
 			TestgeneratorDSLSerializer newDSL = new TestgeneratorDSLSerializer(newDSLFile.toString());
diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/rest/service/test/TestService.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/rest/service/test/TestService.java
index 9e4f962d2d8c37bd3088e3e0214435330fa136ce..35027be70d3be454277aa7531e3eee0f724c536e 100644
--- a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/rest/service/test/TestService.java
+++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/rest/service/test/TestService.java
@@ -372,7 +372,9 @@ public class TestService {
 		} else if (flowElement instanceof ScriptTask) {
 			return TestgeneratorDSLObjectCreator.createScriptTaskFlowElement(flowElement.getId());
 		} else if (flowElement instanceof BusinessRuleTask) {
-			return TestgeneratorDSLObjectCreator.createBusinessRuleTaskFlowElement(flowElement.getId());
+			String resultVariable = BPMNParseUtils.getResultVariable((BusinessRuleTask) flowElement);
+			
+			return TestgeneratorDSLObjectCreator.createBusinessRuleTaskFlowElement(flowElement.getId(), resultVariable);
 		} else if (flowElement instanceof ServiceTask) {
 			String delegate = getDelegate((ServiceTask) flowElement);
 			String externalTopicTextual = getExternalTopic((ServiceTask) flowElement);
diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/utils/BPMNParseUtils.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/utils/BPMNParseUtils.java
index 93b97cdfc716d956a09a812c124fccb2064cc248..1058f4830164fe84dc88b0831709af0317155c4a 100644
--- a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/utils/BPMNParseUtils.java
+++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/utils/BPMNParseUtils.java
@@ -10,6 +10,7 @@ import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 import org.camunda.bpm.model.bpmn.BpmnModelInstance;
+import org.camunda.bpm.model.bpmn.instance.BusinessRuleTask;
 import org.camunda.bpm.model.bpmn.instance.ServiceTask;
 import org.camunda.bpm.model.dmn.DmnModelInstance;
 
@@ -223,6 +224,11 @@ public class BPMNParseUtils {
 		return externalTopic;
 	}
 	
+	public static String getResultVariable(BusinessRuleTask businessRuleTask) {
+		String resultVariable = businessRuleTask.getAttributeValueNs(NAMESPACE_URI_BPMN, "resultVariable");
+		return resultVariable;
+	}
+	
 	public static List<VariableDeclaration> getHardcodedVariables(String flowElementId, List<Variable> variables,
 			BPMNIOParameters bpmnIOParameters) {
 		List<VariableDeclaration> hardcodedVariables = new ArrayList<>();
diff --git a/Testgenerator/src/main/resources/migration.yaml b/Testgenerator/src/main/resources/migration.yaml
index 8781b0b7bf0cf68def945a8c811999455d16c616..55fe0103660b9f994b2b4ba453bb34b18e927ba5 100644
--- a/Testgenerator/src/main/resources/migration.yaml
+++ b/Testgenerator/src/main/resources/migration.yaml
@@ -26,5 +26,4 @@ activity:
       status: RED
       priority: 0
     manualTask:
-      status: GREEN
-      priority: 0
\ No newline at end of file
+      status: GREEN
\ No newline at end of file
diff --git a/testgenerator-web/testgenerator-web/src/app/app-routing.module.ts b/testgenerator-web/testgenerator-web/src/app/app-routing.module.ts
index 6b34003b7744d128ac86e531a2080cdb15c98352..d47aafc67706640a512b32be088991e329b06a66 100644
--- a/testgenerator-web/testgenerator-web/src/app/app-routing.module.ts
+++ b/testgenerator-web/testgenerator-web/src/app/app-routing.module.ts
@@ -16,7 +16,7 @@ import { DeleteProjectComponent } from './components/delete-project/delete-proje
 import { LoopsComponent } from './components/loops/loops.component';
 import { LoopComponent } from './components/loop/loop.component';
 import { UpdateProjectComponent } from './components/update-project/update-project.component';
-import { MigrationOverviewComponent } from './migration-overview/migration-overview.component';
+import { MigrationOverviewComponent } from './components/migration-overview/migration-overview.component';
 
 
 const routes: Routes = [
diff --git a/testgenerator-web/testgenerator-web/src/app/app.module.ts b/testgenerator-web/testgenerator-web/src/app/app.module.ts
index 0fe153006afd0bb80fbc46add660cd77b668db5f..015a77f4c8fad5baca81f563ec59a10eab2e7c8a 100644
--- a/testgenerator-web/testgenerator-web/src/app/app.module.ts
+++ b/testgenerator-web/testgenerator-web/src/app/app.module.ts
@@ -30,7 +30,7 @@ import { DeleteProjectComponent } from './components/delete-project/delete-proje
 import { LoopsComponent } from './components/loops/loops.component';
 import { LoopComponent } from './components/loop/loop.component';
 import { UpdateProjectComponent } from './components/update-project/update-project.component';
-import { MigrationOverviewComponent } from './migration-overview/migration-overview.component';
+import { MigrationOverviewComponent } from './components/migration-overview/migration-overview.component';
 
 @NgModule({
   declarations: [
diff --git a/testgenerator-web/testgenerator-web/src/app/migration-overview/migration-overview.component.css b/testgenerator-web/testgenerator-web/src/app/components/migration-overview/migration-overview.component.css
similarity index 100%
rename from testgenerator-web/testgenerator-web/src/app/migration-overview/migration-overview.component.css
rename to testgenerator-web/testgenerator-web/src/app/components/migration-overview/migration-overview.component.css
diff --git a/testgenerator-web/testgenerator-web/src/app/migration-overview/migration-overview.component.html b/testgenerator-web/testgenerator-web/src/app/components/migration-overview/migration-overview.component.html
similarity index 100%
rename from testgenerator-web/testgenerator-web/src/app/migration-overview/migration-overview.component.html
rename to testgenerator-web/testgenerator-web/src/app/components/migration-overview/migration-overview.component.html
diff --git a/testgenerator-web/testgenerator-web/src/app/migration-overview/migration-overview.component.spec.ts b/testgenerator-web/testgenerator-web/src/app/components/migration-overview/migration-overview.component.spec.ts
similarity index 100%
rename from testgenerator-web/testgenerator-web/src/app/migration-overview/migration-overview.component.spec.ts
rename to testgenerator-web/testgenerator-web/src/app/components/migration-overview/migration-overview.component.spec.ts
diff --git a/testgenerator-web/testgenerator-web/src/app/migration-overview/migration-overview.component.ts b/testgenerator-web/testgenerator-web/src/app/components/migration-overview/migration-overview.component.ts
similarity index 85%
rename from testgenerator-web/testgenerator-web/src/app/migration-overview/migration-overview.component.ts
rename to testgenerator-web/testgenerator-web/src/app/components/migration-overview/migration-overview.component.ts
index a0aec047820e5814dc080a2c54b190734535c44a..ca40a67be0438d83f52853aee7e3c174e151cbae 100644
--- a/testgenerator-web/testgenerator-web/src/app/migration-overview/migration-overview.component.ts
+++ b/testgenerator-web/testgenerator-web/src/app/components/migration-overview/migration-overview.component.ts
@@ -1,7 +1,7 @@
 import { Component, OnInit } from '@angular/core';
 import { ActivatedRoute } from '@angular/router';
-import { MigrationResultWrapper } from '../models/migration-result-wrapper';
-import { MigrationService } from '../services/migration-service';
+import { MigrationResultWrapper } from '../../models/migration-result-wrapper';
+import { MigrationService } from '../../services/migration-service';
 
 @Component({
   selector: 'app-migration-overview',