new update for new version graph-building
diff --git a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/KmerVertexID.java b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/KmerVertexID.java
deleted file mode 100644
index 9a01e36..0000000
--- a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/KmerVertexID.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 2009-2012 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.genomix.experiment;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import org.apache.hadoop.io.Writable;
-
-public class KmerVertexID implements Writable {
-    private int readID;
-    private byte posInRead;
-
-    public KmerVertexID(int readID, byte posInRead) {
-        set(readID, posInRead);
-    }
-
-    public KmerVertexID() {
-        readID = -1;
-        posInRead = -1;
-    }
-
-    @Override
-    public void readFields(DataInput arg0) throws IOException {
-        readID = arg0.readInt();
-        posInRead = arg0.readByte();
-    }
-
-    @Override
-    public void write(DataOutput arg0) throws IOException {
-        arg0.writeInt(readID);
-        arg0.writeByte(posInRead);
-    }
-
-    @Override
-    public String toString() {
-        return String.valueOf(readID) + '\t' + String.valueOf(posInRead);
-    }
-
-    public void set(int readID, byte posInRead) {
-        this.readID = readID;
-        this.posInRead = posInRead;
-    }
-
-    public int getReadID() {
-        return readID;
-    }
-
-    public void setReadID(int readID) {
-        this.readID = readID;
-    }
-
-    public byte getPosInRead() {
-        return posInRead;
-    }
-}
\ No newline at end of file
diff --git a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/VertexAdjacentWritable.java b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/VertexAdjacentWritable.java
index 191aacf..4145a3b 100644
--- a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/VertexAdjacentWritable.java
+++ b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/VertexAdjacentWritable.java
@@ -19,7 +19,7 @@
         this(null, 0, EMPTY_BYTES);
     }
 
-    public VertexAdjacentWritable(VertexIDList right, int kmerSize, byte[] bytes) {
+    public VertexAdjacentWritable(PositionList right, int kmerSize, byte[] bytes) {
         if (right != null)
             this.adjVertexList = new VertexIDListWritable(right);
         else
diff --git a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/VertexIDList.java b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/VertexIDList.java
deleted file mode 100644
index f799b00..0000000
--- a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/VertexIDList.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package edu.uci.ics.genomix.experiment;
-
-public class VertexIDList {
-
-    private int[] readIDList;
-    private byte[] posInReadList;
-    private static final int[] EMPTY_INTS = {};
-    private static final byte[] EMPTY_BYTES = {};
-
-    private int usedSize;
-    private int arraySize;
-
-    public VertexIDList() {
-        this(0, 0, EMPTY_INTS, EMPTY_BYTES);
-    }
-
-    public VertexIDList(int usedSize, int arraySize, int[] rList, byte[] pList) {
-        this.usedSize = usedSize;
-        this.arraySize = arraySize;
-        if (arraySize > 0) {
-            this.readIDList = rList;
-            this.posInReadList = pList;
-            if (this.readIDList.length != arraySize | this.posInReadList.length != arraySize) {
-                throw new ArrayIndexOutOfBoundsException("the arraySize doesn't corespond to the array");
-            }
-            if (this.readIDList.length < usedSize | this.posInReadList.length < usedSize) {
-                throw new ArrayIndexOutOfBoundsException("the usedSize doesn't corespond to the array");
-            }
-        } else {
-            this.readIDList = rList;
-            this.posInReadList = pList;
-            this.arraySize = 0;
-            this.usedSize = 0;
-        }
-    }
-
-    public VertexIDList(int arraySize) {
-        this.arraySize = arraySize;
-        this.usedSize = 0;
-        if (arraySize > 0) {
-            this.readIDList = new int[this.arraySize];
-            this.posInReadList = new byte[this.arraySize];
-        } else {
-            this.readIDList = EMPTY_INTS;
-            this.posInReadList = EMPTY_BYTES;
-        }
-    }
-
-    public VertexIDList(VertexIDList right) {
-        if (right != null) {
-            this.usedSize = right.usedSize;
-            this.arraySize = right.arraySize;
-            this.readIDList = new int[right.arraySize];
-            this.posInReadList = new byte[right.arraySize];
-            if (this.readIDList.length != arraySize | this.posInReadList.length != arraySize) {
-                throw new ArrayIndexOutOfBoundsException("the arraySize doesn't corespond to the array");
-            }
-            if (this.readIDList.length < usedSize | this.posInReadList.length < usedSize) {
-                throw new ArrayIndexOutOfBoundsException("the usedSize doesn't corespond to the array");
-            }
-            set(right);
-        } else {
-            this.arraySize = 0;
-            this.usedSize = 0;
-            this.readIDList = EMPTY_INTS;
-            this.posInReadList = EMPTY_BYTES;
-        }
-    }
-
-    public void set(VertexIDList newData) {
-        set(newData.readIDList, 0, newData.posInReadList, 0, newData.usedSize);
-    }
-
-    public void set(int[] rIDList, int rOffset, byte[] pReadList, int pOffset, int copySize) {
-        setArraySize(0);
-        setArraySize(copySize);
-        System.arraycopy(rIDList, rOffset, this.readIDList, 0, copySize);
-        System.arraycopy(pReadList, pOffset, this.posInReadList, 0, copySize);
-        this.usedSize = copySize;
-    }
-
-    public void setArraySize(int arraySize) {
-        if (arraySize > getCapacity()) {
-            setCapacity((arraySize * 2));
-        }
-        this.arraySize = arraySize;
-    }
-
-    public int getCapacity() {
-        return this.arraySize;
-    }
-
-    public void setCapacity(int new_cap) {
-        if (new_cap != getCapacity()) {
-            int[] newRList = new int[new_cap];
-            byte[] newPList = new byte[new_cap];
-            if (new_cap < this.arraySize) {
-                this.arraySize = new_cap;
-            }
-            if (this.arraySize != 0) {
-                System.arraycopy(this.readIDList, 0, newRList, 0, this.usedSize);
-                System.arraycopy(this.posInReadList, 0, newPList, 0, this.usedSize);
-            }
-            this.readIDList = newRList;
-            this.posInReadList = newPList;
-        }
-    }
-
-    public int getReadListElement(int position) {
-        if (position < this.usedSize) {
-            return this.readIDList[position];
-        } else {
-            throw new ArrayIndexOutOfBoundsException("position exceed for the usedSize");
-        }
-    }
-
-    public byte getPosinReadListElement(int position) {
-        if (position < this.usedSize) {
-            return this.posInReadList[position];
-        } else {
-            throw new ArrayIndexOutOfBoundsException("position exceed for the usedSize");
-        }
-    }
-
-    public int findReadListElement(int rContent) {
-        for (int i = 0; i < this.usedSize; i++) {
-            if (this.readIDList[i] == rContent)
-                return i;
-        }
-        return -1;
-    }
-
-    public int findPosinReadListElement(int pContent) {
-        for (int i = 0; i < this.usedSize; i++) {
-            if (this.usedSize == pContent)
-                return i;
-        }
-        return -1;
-    }
-
-    public void addELementToList(int rContent, byte pContent) {
-        if (this.usedSize < this.arraySize) {
-            this.readIDList[this.usedSize] = rContent;
-            this.posInReadList[this.usedSize] = pContent;
-            this.usedSize++;
-        } else {
-            setCapacity((this.arraySize * 2));
-            this.readIDList[this.usedSize] = rContent;
-            this.posInReadList[this.usedSize] = pContent;
-            this.usedSize++;
-        }
-    }
-
-    public void deleteElementFromTwoList(int position) {
-        if (position < this.usedSize) {
-            for (int i = position; i < this.usedSize; i++) {
-                this.readIDList[i] = this.readIDList[i + 1];
-                this.posInReadList[i] = this.posInReadList[i + 1];
-            }
-            this.readIDList[this.usedSize - 1] = -1;
-            this.posInReadList[this.usedSize - 1] = (byte) -1;
-            this.usedSize--;
-        } else {
-            throw new ArrayIndexOutOfBoundsException("position exceed for the usedSize");
-        }
-    }
-    
-    public int[] getReadIDList() {
-        return this.readIDList;
-    }
-    
-    public byte[] getPosInReadList() {
-        return this.posInReadList;
-    }
-    
-    public int getUsedSize() {
-        return this.usedSize;
-    }
-    
-    public int getArraySize() {
-        return this.arraySize;
-    }
-}
diff --git a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/VertexIDListWritable.java b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/VertexIDListWritable.java
index f7d917a..d8763e9 100644
--- a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/VertexIDListWritable.java
+++ b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/experiment/VertexIDListWritable.java
@@ -7,26 +7,26 @@
 
 public class VertexIDListWritable implements Writable {
 
-    private VertexIDList vertexIDList;
+    private PositionList vertexIDList;
     private int[] tempReadIDList = null;
     private byte[] tempPosInReadList = null;
     
     public VertexIDListWritable() {
-        this.vertexIDList = new VertexIDList();
+        this.vertexIDList = new PositionList();
     }
     
-    public VertexIDListWritable(VertexIDList right) {
-        this.vertexIDList = new VertexIDList(right);
+    public VertexIDListWritable(PositionList right) {
+        this.vertexIDList = new PositionList(right);
     }
 
     public VertexIDListWritable(int length) {
-        this.vertexIDList = new VertexIDList(length);
+        this.vertexIDList = new PositionList(length);
     }
     
     public void set(VertexIDListWritable right) {
         set(right.get());
     }
-    public void set(VertexIDList right) {
+    public void set(PositionList right) {
         this.vertexIDList.set(right);
     }
 
@@ -46,8 +46,13 @@
         }
     }
 
+//    Position [] pos  = new Position();
     @Override
     public void write(DataOutput out) throws IOException {
+//        out.writeInt(length);
+//        for ( int i: length){
+//            pos[i].write(out);
+//        }
         // TODO Auto-generated method stub
         out.writeInt(vertexIDList.getArraySize());
         out.writeInt(vertexIDList.getUsedSize());
@@ -60,7 +65,7 @@
         }
     }
     
-    public VertexIDList get() {
+    public PositionList get() {
         return vertexIDList;
     }
 }
diff --git a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/MergePathValueWritable.java b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/MergePathValueWritable.java
deleted file mode 100644
index 4e8199a..0000000
--- a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/MergePathValueWritable.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright 2009-2012 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.genomix.type;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import org.apache.hadoop.io.BinaryComparable;
-import org.apache.hadoop.io.WritableComparable;
-
-import edu.uci.ics.genomix.type.GeneCode;
-import edu.uci.ics.genomix.type.VKmerBytesWritable;
-
-public class MergePathValueWritable extends BinaryComparable implements WritableComparable<BinaryComparable> {
-
-    private static final byte[] EMPTY_BYTES = {};
-    private byte adjBitMap;
-    private byte flag;
-    private VKmerBytesWritable kmer;
-
-    public MergePathValueWritable() {
-        this((byte) 0, (byte) 0, 0, EMPTY_BYTES);
-    }
-    
-    public MergePathValueWritable(int k) {
-        this.adjBitMap = 0;
-        this.flag = 0;
-        this.kmer = new VKmerBytesWritable(k);
-    }
-    
-    public MergePathValueWritable(byte adjBitMap, byte flag, int kmerSize, byte[] bytes) {
-        this.adjBitMap = adjBitMap;
-        this.flag = flag;
-        this.kmer = new VKmerBytesWritable(kmerSize, bytes);
-        kmer.set(bytes, 0, bytes.length);
-    }
-
-    public void set(MergePathValueWritable right) {
-        set(right.getAdjBitMap(), right.getFlag(), right.getKmer());
-    }
-
-    public void set(byte adjBitMap, byte flag, VKmerBytesWritable kmer) {
-        this.kmer.set(kmer);
-        this.adjBitMap = adjBitMap;
-        this.flag = flag;
-    }
-
-    @Override
-    public void readFields(DataInput arg0) throws IOException {
-        // TODO Auto-generated method stub
-        kmer.readFields(arg0);
-        adjBitMap = arg0.readByte();
-        flag = arg0.readByte();
-    }
-
-    @Override
-    public void write(DataOutput arg0) throws IOException {
-        // TODO Auto-generated method stub
-
-        kmer.write(arg0);
-        arg0.writeByte(adjBitMap);
-        arg0.writeByte(flag);
-    }
-
-    public VKmerBytesWritable getKmer() {
-        if (kmer.getLength() != 0) {
-            return kmer;
-        }
-        return null;
-    }
-
-    public byte getAdjBitMap() {
-        return this.adjBitMap;
-    }
-
-    public byte getFlag() {
-        return this.flag;
-    }
-
-    public String toString() {
-        return GeneCode.getSymbolFromBitMap(adjBitMap) + '\t' + String.valueOf(flag);
-    }
-
-    public String pureToString() {
-        return GeneCode.getSymbolFromBitMap(adjBitMap);
-    }
-    @Override
-    public byte[] getBytes() {
-        // TODO Auto-generated method stub
-        if (kmer.getLength() != 0) {
-            return kmer.getBytes();
-        } else
-            return null;
-
-    }
-
-    public int getKmerLength() {
-        return kmer.getKmerLength();
-    }
-
-    @Override
-    public int getLength() {
-        return kmer.getLength();
-    }
-}
diff --git a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/DeepGraphBuildingMapper.java b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/DeepGraphBuildingMapper.java
index d2aa96e..254d891 100644
--- a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/DeepGraphBuildingMapper.java
+++ b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/DeepGraphBuildingMapper.java
@@ -6,7 +6,7 @@
 import org.apache.hadoop.mapred.Mapper;
 import org.apache.hadoop.mapred.OutputCollector;
 import org.apache.hadoop.mapred.Reporter;
-import edu.uci.ics.genomix.experiment.VertexIDList;
+import edu.uci.ics.genomix.experiment.PositionList;
 import edu.uci.ics.genomix.experiment.VertexIDListWritable;
 import edu.uci.ics.genomix.type.KmerBytesWritable;
 
@@ -14,7 +14,7 @@
 public class DeepGraphBuildingMapper extends MapReduceBase implements
         Mapper<KmerBytesWritable, VertexIDListWritable, IntWritable, LineBasedmappingWritable> {
     IntWritable  numLine = new IntWritable();
-    VertexIDList vertexList = new VertexIDList(1);
+    PositionList vertexList = new PositionList(1);
     LineBasedmappingWritable lineBasedWriter = new LineBasedmappingWritable();
     @Override
     public void map(KmerBytesWritable key, VertexIDListWritable value, OutputCollector<IntWritable, LineBasedmappingWritable> output,
diff --git a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/DeepGraphBuildingReducer.java b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/DeepGraphBuildingReducer.java
index 0a3270e..cace3d2 100644
--- a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/DeepGraphBuildingReducer.java
+++ b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/DeepGraphBuildingReducer.java
@@ -9,9 +9,9 @@
 import org.apache.hadoop.mapred.OutputCollector;
 import org.apache.hadoop.mapred.Reducer;
 import org.apache.hadoop.mapred.Reporter;
-import edu.uci.ics.genomix.experiment.KmerVertexID;
+import edu.uci.ics.genomix.experiment.Position;
 import edu.uci.ics.genomix.experiment.VertexAdjacentWritable;
-import edu.uci.ics.genomix.experiment.VertexIDList;
+import edu.uci.ics.genomix.experiment.PositionList;
 import edu.uci.ics.genomix.experiment.VertexIDListWritable;
 import edu.uci.ics.genomix.type.KmerBytesWritable;
 import edu.uci.ics.genomix.type.VKmerBytesWritable;
@@ -19,20 +19,20 @@
 
 @SuppressWarnings("deprecation")
 public class DeepGraphBuildingReducer extends MapReduceBase implements
-        Reducer<IntWritable, LineBasedmappingWritable, KmerVertexID, VertexAdjacentWritable> {
+        Reducer<IntWritable, LineBasedmappingWritable, Position, VertexAdjacentWritable> {
 
     public ArrayList<LineBasedmappingWritable> lineElementsSet = new ArrayList<LineBasedmappingWritable>();
-    public KmerVertexID outputVerID = new KmerVertexID();
+    public Position outputVerID = new Position();
     public VertexAdjacentWritable outputAdjacentList = new VertexAdjacentWritable();
-    public VertexIDList srcVtexAdjList = new VertexIDList();
-    public VertexIDList desVtexAdjList = new VertexIDList();
+    public PositionList srcVtexAdjList = new PositionList();
+    public PositionList desVtexAdjList = new PositionList();
     public VertexIDListWritable srcAdjListWritable = new VertexIDListWritable();
     public VKmerBytesWritable desKmer = new VKmerBytesWritable(1);
     public VKmerBytesWritableFactory kmerFactory = new VKmerBytesWritableFactory(1);
     public VKmerBytesWritable srcKmer = new VKmerBytesWritable(1);
     @Override
     public void reduce(IntWritable key, Iterator<LineBasedmappingWritable> values,
-            OutputCollector<KmerVertexID, VertexAdjacentWritable> output, Reporter reporter) throws IOException {
+            OutputCollector<Position, VertexAdjacentWritable> output, Reporter reporter) throws IOException {
         while (values.hasNext()) {
             lineElementsSet.add(values.next());
         }
diff --git a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/GraphKmerInvertedIndexMapper.java b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/GraphKmerInvertedIndexMapper.java
index fe63012..9b5fec2 100644
--- a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/GraphKmerInvertedIndexMapper.java
+++ b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/GraphKmerInvertedIndexMapper.java
@@ -10,26 +10,26 @@
 import org.apache.hadoop.mapred.Mapper;
 import org.apache.hadoop.mapred.OutputCollector;
 import org.apache.hadoop.mapred.Reporter;
-import edu.uci.ics.genomix.experiment.KmerVertexID;
+import edu.uci.ics.genomix.experiment.Position;
 import edu.uci.ics.genomix.type.GeneCode;
 import edu.uci.ics.genomix.type.KmerBytesWritable;
 import edu.uci.ics.genomix.type.KmerCountValue;
 
 public class GraphKmerInvertedIndexMapper extends MapReduceBase implements
-        Mapper<LongWritable, Text, KmerBytesWritable, KmerVertexID> {
+        Mapper<LongWritable, Text, KmerBytesWritable, Position> {
     
     public static int KMER_SIZE;
-    public KmerVertexID outputVertexID;
+    public Position outputVertexID;
     public KmerBytesWritable outputKmer;
 
     @Override
     public void configure(JobConf job) {
         KMER_SIZE = Integer.parseInt(job.get("sizeKmer"));
-        outputVertexID = new KmerVertexID();
+        outputVertexID = new Position();
         outputKmer = new KmerBytesWritable(KMER_SIZE);
     }
     @Override
-    public void map(LongWritable key, Text value, OutputCollector<KmerBytesWritable, KmerVertexID> output,
+    public void map(LongWritable key, Text value, OutputCollector<KmerBytesWritable, Position> output,
             Reporter reporter) throws IOException {
         
         String geneLine = value.toString();
diff --git a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/GraphKmerInvertedIndexReducer.java b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/GraphKmerInvertedIndexReducer.java
index a228a3c..a4a579b 100644
--- a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/GraphKmerInvertedIndexReducer.java
+++ b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/GraphKmerInvertedIndexReducer.java
@@ -7,22 +7,22 @@
 import org.apache.hadoop.mapred.OutputCollector;
 import org.apache.hadoop.mapred.Reducer;
 import org.apache.hadoop.mapred.Reporter;
-import edu.uci.ics.genomix.experiment.KmerVertexID;
-import edu.uci.ics.genomix.experiment.VertexIDList;
+import edu.uci.ics.genomix.experiment.Position;
+import edu.uci.ics.genomix.experiment.PositionList;
 import edu.uci.ics.genomix.experiment.VertexIDListWritable;
 import edu.uci.ics.genomix.type.KmerBytesWritable;
 import edu.uci.ics.genomix.type.VKmerBytesWritable;
 
 @SuppressWarnings({ "deprecation", "unused" })
 public class GraphKmerInvertedIndexReducer extends MapReduceBase implements
-        Reducer<KmerBytesWritable, KmerVertexID, KmerBytesWritable, VertexIDListWritable> {
-    VertexIDList vertexList = new VertexIDList(1);
+        Reducer<KmerBytesWritable, Position, KmerBytesWritable, VertexIDListWritable> {
+    PositionList vertexList = new PositionList(1);
     VertexIDListWritable listWritable = new VertexIDListWritable();
     @Override
-    public void reduce(KmerBytesWritable key, Iterator<KmerVertexID> values,
+    public void reduce(KmerBytesWritable key, Iterator<Position> values,
             OutputCollector<KmerBytesWritable, VertexIDListWritable> output, Reporter reporter) throws IOException {
         while (values.hasNext()) {
-            KmerVertexID vertexID = values.next();
+            Position vertexID = values.next();
             vertexList.addELementToList(vertexID.getReadID(), vertexID.getPosInRead());
         }
         listWritable.set(vertexList);
diff --git a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/LineBasedmappingWritable.java b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/LineBasedmappingWritable.java
index 658d56d..aa9413c 100644
--- a/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/LineBasedmappingWritable.java
+++ b/genomix/genomix-hadoop/src/main/java/edu/uci/ics/genomix/hadoop/experiments/LineBasedmappingWritable.java
@@ -5,7 +5,7 @@
 import java.io.IOException;
 
 import edu.uci.ics.genomix.experiment.VertexAdjacentWritable;
-import edu.uci.ics.genomix.experiment.VertexIDList;
+import edu.uci.ics.genomix.experiment.PositionList;
 import edu.uci.ics.genomix.experiment.VertexIDListWritable;
 import edu.uci.ics.genomix.type.KmerBytesWritable;
 import edu.uci.ics.genomix.type.VKmerBytesWritable;
@@ -18,7 +18,7 @@
         this.posInInvertedIndex = -1;        
     }
 
-    public LineBasedmappingWritable(int posInInvertedIndex, VertexIDList right, int kmerSize, byte[] bytes) {       
+    public LineBasedmappingWritable(int posInInvertedIndex, PositionList right, int kmerSize, byte[] bytes) {       
         super(right, kmerSize, bytes);
         this.posInInvertedIndex = posInInvertedIndex;
     }