diff --git a/.gitignore b/.gitignore
index 24cae48..27c7ba3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,6 +14,7 @@ GumTreeInput/
 GumTreeInput1/
 GumTreeOutput1/
 GumTreeResults/
+.idea/*
 
 */Test.java
 *TestParser.java
diff --git a/src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationHunkParser.java b/src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationHunkParser.java
index 4d885ea..eb1eca1 100644
--- a/src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationHunkParser.java
+++ b/src/main/java/edu/lu/uni/serval/FixPatternParser/violations/FixedViolationHunkParser.java
@@ -1,5 +1,9 @@
 package edu.lu.uni.serval.FixPatternParser.violations;
 
+import com.github.gumtreediff.actions.model.Delete;
+import com.github.gumtreediff.actions.model.Insert;
+import com.github.gumtreediff.actions.model.Move;
+import com.github.gumtreediff.actions.model.Update;
 import edu.lu.uni.serval.gumtree.regroup.HierarchicalActionSet;
 
 import java.io.*;
@@ -30,27 +34,29 @@ public class FixedViolationHunkParser extends FixedViolationParser {
 	public void parseFixPatterns(File prevFile, File revFile, File diffentryFile,String project) {
 		List<HierarchicalActionSet> actionSets = parseChangedSourceCodeWithGumTree2(prevFile, revFile);
 		if (actionSets.size() != 0) {
-//			boolean isUpdate =
-//					actionSets.stream().allMatch(p -> p.getAction() instanceof Update);
-//			boolean isInsert =
-//					actionSets.stream().allMatch(p -> p.getAction() instanceof Insert);
-//			boolean isDelete =
-//					actionSets.stream().allMatch(p -> p.getAction() instanceof Delete);
-//			boolean isMove =
-//					actionSets.stream().allMatch(p -> p.getAction() instanceof Move);
 			int hunkSet = 0;
 //			if (isUpdate || isInsert || isDelete || isMove) {
 				for (HierarchicalActionSet actionSet : actionSets) {
-					String folder = "/ALL/";
-//					if (isUpdate) {
-//						folder = "/UPD/";
-//					} else if (isDelete) {
-//						folder = "/DEL/";
-//					} else if (isInsert) {
-//						folder = "/INS/";
-//					} else if (isMove) {
-//						folder = "/MOV/";
-//					}
+					boolean isUpdate =
+							actionSets.stream().allMatch(p -> p.getAction() instanceof Update);
+					boolean isInsert =
+							actionSets.stream().allMatch(p -> p.getAction() instanceof Insert);
+					boolean isDelete =
+							actionSets.stream().allMatch(p -> p.getAction() instanceof Delete);
+					boolean isMove =
+							actionSets.stream().allMatch(p -> p.getAction() instanceof Move);
+					String folder = "/MIX/";
+					if (isUpdate) {
+						folder = "/UPD/";
+					} else if (isDelete) {
+						folder = "/DEL/";
+					} else if (isInsert) {
+						folder = "/INS/";
+					} else if (isMove) {
+						folder = "/MOV/";
+					} else{
+						folder = "/MIX/";
+					}
 
 
 					FileOutputStream f = null;
diff --git a/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternWorker.java b/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternWorker.java
index 3084dbe..ffe1b01 100644
--- a/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternWorker.java
+++ b/src/main/java/edu/lu/uni/serval/MultipleThreadsParser/ParseFixPatternWorker.java
@@ -61,7 +61,7 @@ public class ParseFixPatternWorker extends UntypedActor {
 			int testInfos = 0;
 			int timeouts = 0;
 			StringBuilder builder = new StringBuilder();
-
+//			log.info("Work queue size " + files.size());
 			for (MessageFile msgFile : files) {
 				File revFile = msgFile.getRevFile();
 				File prevFile = msgFile.getPrevFile();
diff --git a/src/main/java/edu/lu/uni/serval/config/Configuration.java b/src/main/java/edu/lu/uni/serval/config/Configuration.java
index 4421c72..7162180 100644
--- a/src/main/java/edu/lu/uni/serval/config/Configuration.java
+++ b/src/main/java/edu/lu/uni/serval/config/Configuration.java
@@ -2,6 +2,6 @@ package edu.lu.uni.serval.config;
 
 public class Configuration {
 	
-	public static final long SECONDS_TO_WAIT = 900L;
+	public static final long SECONDS_TO_WAIT = 90000L;
 
 }
diff --git a/src/main/java/edu/lu/uni/serval/fixminer/EnhancedASTDiff.java b/src/main/java/edu/lu/uni/serval/fixminer/EnhancedASTDiff.java
index 43895e0..066b07d 100644
--- a/src/main/java/edu/lu/uni/serval/fixminer/EnhancedASTDiff.java
+++ b/src/main/java/edu/lu/uni/serval/fixminer/EnhancedASTDiff.java
@@ -5,7 +5,7 @@ import akka.actor.ActorSystem;
 import edu.lu.uni.serval.MultipleThreadsParser.MessageFile;
 import edu.lu.uni.serval.MultipleThreadsParser.ParseFixPatternActor;
 import edu.lu.uni.serval.MultipleThreadsParser.WorkMessage;
-import edu.lu.uni.serval.utils.FileHelper;
+import edu.lu.uni.serval.FixPattern.utils.FileHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -13,6 +13,7 @@ import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Locale;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
@@ -31,6 +32,7 @@ public class EnhancedASTDiff {
         Stream<File> stream = Arrays.stream(listOfFiles);
         List<File> folders = stream
 				.filter(x -> !x.getName().startsWith("."))
+//				.filter(x -> x.getName().startsWith("JDT"))
 				.collect(Collectors.toList());
 
 
@@ -49,11 +51,11 @@ public class EnhancedASTDiff {
 			FileHelper.createDirectory(GUM_TREE_OUTPUT + "/INS");
 			FileHelper.createDirectory(GUM_TREE_OUTPUT + "/DEL");
 			FileHelper.createDirectory(GUM_TREE_OUTPUT + "/MOV");
-			FileHelper.createDirectory(GUM_TREE_OUTPUT + "/ALL");
+			FileHelper.createDirectory(GUM_TREE_OUTPUT + "/MIX");
 
 
             int a = 0;
-
+			log.info("Work queue size " + msgFiles.size());
 			ActorSystem system = null;
 			ActorRef parsingActor = null;
 			final WorkMessage msg = new WorkMessage(0, msgFiles);
@@ -80,6 +82,11 @@ public class EnhancedASTDiff {
         if (revFiles.length >= 0) {
             for (File revFile : revFiles) {
                 String fileName = revFile.getName();
+				if(fileName.toLowerCase(Locale.ENGLISH).contains("test")){
+					log.info(fileName);
+					continue;
+				}
+
                 File prevFile = new File(gumTreeInput + "prevFiles/prev_" + fileName);// previous file
                 fileName = fileName.replace(".java", ".txt");
                 File diffentryFile = new File(gumTreeInput + "DiffEntries/" + fileName); // DiffEntry file
diff --git a/src/main/java/edu/lu/uni/serval/fixminer/TestHunkParserSingleFile.java b/src/main/java/edu/lu/uni/serval/fixminer/TestHunkParserSingleFile.java
index 44575a7..88f36c6 100644
--- a/src/main/java/edu/lu/uni/serval/fixminer/TestHunkParserSingleFile.java
+++ b/src/main/java/edu/lu/uni/serval/fixminer/TestHunkParserSingleFile.java
@@ -5,7 +5,7 @@ import akka.actor.ActorSystem;
 import edu.lu.uni.serval.MultipleThreadsParser.MessageFile;
 import edu.lu.uni.serval.MultipleThreadsParser.ParseFixPatternActor;
 import edu.lu.uni.serval.MultipleThreadsParser.WorkMessage;
-import edu.lu.uni.serval.utils.FileHelper;
+import edu.lu.uni.serval.FixPattern.utils.FileHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/CallShell.java b/src/main/java/edu/lu/uni/serval/fixminer/cluster/CallShell.java
index 9c1d05d..3dceda0 100644
--- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/CallShell.java
+++ b/src/main/java/edu/lu/uni/serval/fixminer/cluster/CallShell.java
@@ -37,7 +37,7 @@ public class CallShell {
         }
 //        Thread.sleep(Integer.valueOf(serverWait));
 
-        String cmd = "redis-cli -p %s ping";
+        String cmd = "bash source activate redisEnv && redis-cli -p %s ping";
         String cmd1 = String.format(cmd,Integer.valueOf(port));
         runPing(cmd1);
 
diff --git a/src/main/java/edu/lu/uni/serval/fixminer/cluster/StoreEDiffInCache.java b/src/main/java/edu/lu/uni/serval/fixminer/cluster/StoreEDiffInCache.java
index 39bba51..8657dce 100644
--- a/src/main/java/edu/lu/uni/serval/fixminer/cluster/StoreEDiffInCache.java
+++ b/src/main/java/edu/lu/uni/serval/fixminer/cluster/StoreEDiffInCache.java
@@ -52,13 +52,15 @@ public class StoreEDiffInCache {
                     .filter(x -> x.getName().startsWith("UPD") ||
                             x.getName().startsWith("INS") ||
                             x.getName().startsWith("DEL") ||
+                            x.getName().startsWith("MIX") ||
                             x.getName().startsWith("MOV"))
                     .collect(Collectors.toList());
                 File[] files1 = fs.get(0).listFiles();
                 File[] files2 = fs.get(1).listFiles();
                 File[] files3 = fs.get(2).listFiles();
                 File[] files4 = fs.get(3).listFiles();
-                dumps = Stream.of(files1, files2, files3,files4).flatMap(Stream::of).toArray(File[]::new);
+                File[] files5 = fs.get(4).listFiles();
+                dumps = Stream.of(files1, files2, files3,files4,files5).flatMap(Stream::of).toArray(File[]::new);
             }else{
                 fs = fileStream
                         .filter(x -> x.getName().startsWith(operation))
@@ -70,7 +72,7 @@ public class StoreEDiffInCache {
             for (File f : dumps) {
                 String name = f.getName();
 
-                String key = pjName + "/"+ operation+"/" + name;
+                String key = pjName + f.getPath().replace(pj.getPath(),"");
                 String result = key +","+f.getPath();
                 workList.add(result);
             }
