diff --git a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/KmerCountValue.java b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/KmerCountValue.java
index f2e6c30..080110b 100644
--- a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/KmerCountValue.java
+++ b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/KmerCountValue.java
@@ -58,6 +58,9 @@
 	public byte getAdjBitMap() {
         return adjBitMap;
     }
+	public void setAdjBitMap(byte adjBitMap) {
+		this.adjBitMap = adjBitMap;
+	}
 	public byte getCount() {
 	    return count;
 	}
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/pregelix/JobRun/RunJobTestSuite.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/pregelix/JobRun/RunJobTestSuite.java
index ad58168..8af7f1e 100644
--- a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/pregelix/JobRun/RunJobTestSuite.java
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/pregelix/JobRun/RunJobTestSuite.java
@@ -41,7 +41,7 @@
 	private static final String PATH_TO_ONLY = "src/test/resources/only.txt";
 	private static final String FILE_EXTENSION_OF_RESULTS = "result";
 
-	private static final String DATA_PATH = "data/webmap/part-1-out-500000";//sequenceFileMergeTest
+	private static final String DATA_PATH = "data/webmap/part-1-out-1000";//sequenceFileMergeTest
 	private static final String HDFS_PATH = "/webmap/";
 	
 	private static final String HYRACKS_APP_NAME = "pregelix";
@@ -149,30 +149,32 @@
 		try {
 			writer = new OutputStreamWriter(new FileOutputStream("test/time",true));
 		} catch (FileNotFoundException e1) { e1.printStackTrace();}
-		long startTime = System.currentTimeMillis();
+		
 		
 		try {
 			int testCount = countTestCases();
 			for (int i = 0; i < testCount; i++) {
+				long startTime = System.currentTimeMillis();
 				// cleanupStores();
 				Test each = this.testAt(i);
 				if (result.shouldStop())
 					break;
 				runTest(each, result);
+				long endTime = System.currentTimeMillis();
+				long totalTime = endTime - startTime;
+				System.out.println(totalTime);
+				try {
+					writer.write("Time: " + totalTime + "\r\n");
+				} catch (IOException e) { // TODO Auto-generated catch block 
+					e.printStackTrace();} 
 			}
+			writer.close();
 			tearDown();
 		} catch (Exception e) {
 			throw new IllegalStateException(e);
 		}
 		
-		long endTime = System.currentTimeMillis();
-		long totalTime = endTime - startTime;
-		System.out.println(totalTime);
-		try {
-			writer.write("Time: " + totalTime + "\r\n");
-			writer.close();
-		} catch (IOException e) { // TODO Auto-generated catch block 
-			e.printStackTrace();} 
+		
 	}
 
 	protected static List<String> getFileList(String ignorePath)
