use byte to represent state and messgeType
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/sequencefile/ProcessFinalResult.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/sequencefile/ProcessFinalResult.java
new file mode 100644
index 0000000..a07cff2
--- /dev/null
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/sequencefile/ProcessFinalResult.java
@@ -0,0 +1,38 @@
+package edu.uci.ics.genomix.pregelix.sequencefile;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.text.DecimalFormat;
+
+public class ProcessFinalResult {
+
+	/**
+	 * @param args
+	 * @throws Exception 
+	 */
+	public static void main(String[] args) throws Exception {
+		DecimalFormat df = new DecimalFormat("0.00");
+		BufferedReader br = new BufferedReader(new FileReader("log2_unfinite"));
+		BufferedWriter bw = new BufferedWriter(new FileWriter("report3"));
+		String line;
+		int i = 0;
+		double totalTime = 0;
+		while((line = br.readLine()) != null){
+			String[] tokens = line.split(" ");
+			for(i = 0; i < tokens.length - 1; i++){
+				bw.write(tokens[i] + " ");
+			}
+			String subString = tokens[i].substring(0, tokens[i].length() - 2);
+			double ms = Double.parseDouble(subString)/60000;
+			totalTime += ms;
+			bw.write(df.format(ms) + "m");
+			bw.newLine();
+		}
+		bw.write("The total time is " + df.format(totalTime) + "m");
+		bw.close();
+		br.close();
+	}
+
+}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/type/CheckMessage.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/type/CheckMessage.java
new file mode 100644
index 0000000..9cb798e
--- /dev/null
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/type/CheckMessage.java
@@ -0,0 +1,35 @@
+package edu.uci.ics.genomix.pregelix.type;
+
+public class CheckMessage {
+	
+	public static final byte SOURCE = 1 << 0;
+	public static final byte CHAIN = 1 << 1;
+	public static final byte ADJMAP = 1 << 2;
+	public static final byte MESSAGE = 1 << 3;
+	public static final byte STATE = 1 << 4;
+	
+	public final static class CheckMessage_CONTENT{
+		
+		public static String getContentFromCode(byte code){
+			String r = "";
+			switch(code){
+			case SOURCE:
+				r = "SOURCE";
+				break;
+			case CHAIN:
+				r = "CHAIN";
+				break;
+			case ADJMAP:
+				r = "ADJMAP";
+				break;
+			case MESSAGE:
+				r = "MESSAGE";
+				break;
+			case STATE:
+				r = "STATE";
+				break;
+			}
+			return r;
+		}
+	}
+}