diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/FileScanDescriptor.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/FileScanDescriptor.java
index 21fe361..298a989 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/FileScanDescriptor.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/FileScanDescriptor.java
@@ -37,7 +37,7 @@
 		this.k = k;
 		this.pathSurfix = path;
 
-		byteNum = (byte) Math.ceil((double) k / 4.0);
+		byteNum = (int) Math.ceil((double) k / 4.0);
 		// recordDescriptors[0] = news RecordDescriptor(
 		// new ISerializerDeserializer[] {
 		// UTF8StringSerializerDeserializer.INSTANCE });
@@ -75,6 +75,7 @@
 			private byte filter0;
 			private byte filter1;
 			private byte filter2;
+			private byte filter3;
 
 			@SuppressWarnings("resource")
 			@Override
@@ -88,6 +89,7 @@
 				filter0 = (byte) 0xC0;
 				filter1 = (byte) 0xFC;
 				filter2 = 0;
+				filter3 = 3;
 
 				int r = byteNum * 8 - 2 * k;
 				r = 8 - r;
@@ -95,6 +97,9 @@
 					filter2 <<= 1;
 					filter2 |= 1;
 				}
+				for(int i = 0; i < r-1 ; i++){
+					filter3 <<= 1;
+				}
 				
 				
 				try {// one try with multiple catch?
@@ -170,8 +175,8 @@
 					}
 					count += 2;
 					if (count % 8 == 0 && byteNum != bcount + 1) {
-						bcount += 1;
 						bytes[byteNum-bcount] = l;
+						bcount += 1;
 						count = 0;
 						l = 0;
 					}
@@ -229,9 +234,9 @@
 			void MoveKmer(byte[] bytes, byte c) {
 				int i = byteNum;
 				bytes[i] <<= 2;
-				bytes[i] &= filter2;
+				bytes[i] &= filter1;
 				i -= 1;
-				while (i > 0) {
+				while (i > 1) {
 					byte f = (byte) (bytes[i] & filter0);
 					f >>= 6;
 					f &= 3;
@@ -240,6 +245,9 @@
 					bytes[i] &= filter1;
 					i -= 1;
 				}
+				bytes[2] |= (byte) (bytes[1]&filter3);
+				bytes[1] <<=2;
+				bytes[1] &= filter2;
 				bytes[1] |= ConvertSymbol(c);
 			}
 
diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/ReadsKeyValueParserFactory.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/ReadsKeyValueParserFactory.java
index efcb779..1876346 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/ReadsKeyValueParserFactory.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/ReadsKeyValueParserFactory.java
@@ -26,6 +26,7 @@
 	private byte filter0;
 	private byte filter1;
 	private byte filter2;
+	private byte filter3;
 
 	public ReadsKeyValueParserFactory(int k) {
 		this.k = k;
@@ -40,6 +41,9 @@
 			filter2 <<= 1;
 			filter2 |= 1;
 		}
+		for(int i = 0; i < r-1 ; i++){
+			filter3 <<= 1;
+		}
 	}
 
 	@Override
@@ -104,8 +108,8 @@
 					}
 					count += 2;
 					if (count % 8 == 0 && byteNum != bcount + 1) {
-						bcount += 1;
 						bytes[byteNum-bcount] = l;
+						bcount += 1;
 						count = 0;
 						l = 0;
 					}
@@ -163,9 +167,9 @@
 			void MoveKmer(byte[] bytes, byte c) {
 				int i = byteNum;
 				bytes[i] <<= 2;
-				bytes[i] &= filter2;
+				bytes[i] &= filter1;
 				i -= 1;
-				while (i > 0) {
+				while (i > 1) {
 					byte f = (byte) (bytes[i] & filter0);
 					f >>= 6;
 					f &= 3;
@@ -174,6 +178,9 @@
 					bytes[i] &= filter1;
 					i -= 1;
 				}
+				bytes[2] |= (byte) (bytes[1]&filter3);
+				bytes[1] <<=2;
+				bytes[1] &= filter2;
 				bytes[1] |= ConvertSymbol(c);
 			}
 
