delete unuse variable
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/NaiveAlgorithmForPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/NaiveAlgorithmForPathMergeVertex.java
index 8a70bd5..6941865 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/NaiveAlgorithmForPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/NaiveAlgorithmForPathMergeVertex.java
@@ -62,7 +62,6 @@
 	private NaiveAlgorithmMessageWritable msg = new NaiveAlgorithmMessageWritable();
 
 	private VKmerBytesWritableFactory kmerFactory = new VKmerBytesWritableFactory(1);
-	private VKmerBytesWritable vertexId = new VKmerBytesWritable(1); 
 	private VKmerBytesWritable destVertexId = new VKmerBytesWritable(1); 
 	private VKmerBytesWritable chainVertexId = new VKmerBytesWritable(1);
 	private VKmerBytesWritable lastKmer = new VKmerBytesWritable(1);
@@ -75,7 +74,6 @@
 			kmerSize = getContext().getConfiguration().getInt(KMER_SIZE, 5);
         if (maxIteration < 0) 
             maxIteration = getContext().getConfiguration().getInt(ITERATIONS, 100);
-		vertexId.set(getVertexId());
 		vertexVal = getVertexValue();
 	}
 	public void findDestination(){
@@ -84,7 +82,7 @@
 	/**
 	 * get destination vertex
 	 */
-	public VKmerBytesWritable getDestVertexId(VKmerBytesWritable vertexId, byte geneCode){
+	public VKmerBytesWritable getDestVertexId(KmerBytesWritable vertexId, byte geneCode){
 		return kmerFactory.shiftKmerWithNextCode(vertexId, geneCode);
 	}
 
@@ -95,7 +93,7 @@
 	/**
 	 * head send message to all next nodes
 	 */
-	public void sendMsgToAllNextNodes(VKmerBytesWritable vertexId, byte adjMap){
+	public void sendMsgToAllNextNodes(KmerBytesWritable vertexId, byte adjMap){
 		for(byte x = GeneCode.A; x<= GeneCode.T ; x++){
 			if((adjMap & (1 << x)) != 0){
 				destVertexId.set(getDestVertexId(vertexId, x));
@@ -110,8 +108,8 @@
 		if(!msg.isRear()){
 			findDestination();
 			if(GraphVertexOperation.isPathVertex(vertexVal.getAdjMap())){
-				chainVertexId.set(vertexId);
-				msg.set(vertexId, chainVertexId, vertexId, vertexVal.getAdjMap(), false);
+				chainVertexId.set(getVertexId());
+				msg.set(getVertexId(), chainVertexId, getVertexId(), vertexVal.getAdjMap(), false);
 				sendMsg(destVertexId,msg);
 			}else if(GraphVertexOperation.isRearVertex(vertexVal.getAdjMap()))
 				voteToHalt();
@@ -126,7 +124,7 @@
 		}else{
 			destVertexId.set(msg.getHeadVertexId());
 		}
-		msg.set(vertexId, msg.getChainVertexId(), msg.getHeadVertexId(), (byte)0, msg.isRear());
+		msg.set(getVertexId(), msg.getChainVertexId(), msg.getHeadVertexId(), (byte)0, msg.isRear());
 		sendMsg(destVertexId,msg);
 	}
 	/**
@@ -137,15 +135,13 @@
 			findDestination();
 			if(GraphVertexOperation.isPathVertex(vertexVal.getAdjMap())){
 				chainVertexId = kmerFactory.mergeKmerWithNextCode(msg.getChainVertexId(),
-						vertexId.getGeneCodeAtPosition(kmerSize - 1));
+						getVertexId().getGeneCodeAtPosition(kmerSize - 1));
 				deleteVertex(getVertexId());
-				//vertexVal.setState(State.NON_EXIST); 
-				//setVertexValue(vertexVal);
-				msg.set(vertexId, chainVertexId, msg.getHeadVertexId(), vertexVal.getAdjMap(), false);
+				msg.set(getVertexId(), chainVertexId, msg.getHeadVertexId(), vertexVal.getAdjMap(), false);
 				sendMsg(destVertexId,msg);
 			}
 			else if(GraphVertexOperation.isRearVertex(vertexVal.getAdjMap())){
-				msg.set(vertexId, msg.getChainVertexId(), msg.getHeadVertexId(), (byte)0, true);
+				msg.set(getVertexId(), msg.getChainVertexId(), msg.getHeadVertexId(), (byte)0, true);
 				sendMsg(destVertexId,msg);
 			}
 		}else{// is Rear
@@ -161,32 +157,30 @@
 	@Override
 	public void compute(Iterator<NaiveAlgorithmMessageWritable> msgIterator) {
 		initVertex();
-		if(vertexVal.getState() != State.NON_EXIST){
-			if (getSuperstep() == 1) {
-				if(GraphVertexOperation.isHeadVertex(vertexVal.getAdjMap())){ 
-					msg.set(vertexId, chainVertexId, vertexId, (byte)0, false);
-					sendMsgToAllNextNodes(vertexId, vertexVal.getAdjMap());
-				}
+		if (getSuperstep() == 1) {
+			if(GraphVertexOperation.isHeadVertex(vertexVal.getAdjMap())){ 
+				msg.set(getVertexId(), chainVertexId, getVertexId(), (byte)0, false);
+				sendMsgToAllNextNodes(getVertexId(), vertexVal.getAdjMap());
 			}
-			else if(getSuperstep() == 2){
-				if(msgIterator.hasNext()){
-					msg = msgIterator.next();
-					initChainVertex();
-				}
+		}
+		else if(getSuperstep() == 2){
+			if(msgIterator.hasNext()){
+				msg = msgIterator.next();
+				initChainVertex();
 			}
-			//head node sends message to path node
-			else if(getSuperstep()%2 == 1 && getSuperstep() <= maxIteration){
-				while (msgIterator.hasNext()){
-					msg = msgIterator.next();
-					sendMsgToPathVertex();
-				}
+		}
+		//head node sends message to path node
+		else if(getSuperstep()%2 == 1 && getSuperstep() <= maxIteration){
+			while (msgIterator.hasNext()){
+				msg = msgIterator.next();
+				sendMsgToPathVertex();
 			}
-			//path node sends message back to head node
-			else if(getSuperstep()%2 == 0 && getSuperstep() > 2 && getSuperstep() <= maxIteration){
-				 while(msgIterator.hasNext()){
-					msg = msgIterator.next();
-					responseMsgToHeadVertex();
-				}
+		}
+		//path node sends message back to head node
+		else if(getSuperstep()%2 == 0 && getSuperstep() > 2 && getSuperstep() <= maxIteration){
+			 while(msgIterator.hasNext()){
+				msg = msgIterator.next();
+				responseMsgToHeadVertex();
 			}
 		}
 		voteToHalt();