diff --git a/src/main/java/azgracompress/io/loader/BasicLoader.java b/src/main/java/azgracompress/io/loader/BasicLoader.java
index 0f8d8fd740b8c3e92f5154bfabeb3bc46dbd323d..4703fea7c2c8122044aabb6e3b2725b6effd8a49 100644
--- a/src/main/java/azgracompress/io/loader/BasicLoader.java
+++ b/src/main/java/azgracompress/io/loader/BasicLoader.java
@@ -32,10 +32,13 @@ public abstract class BasicLoader {
     }
 
     protected int[][] loadRowVectorsImplByLoadPlaneData(final int vectorSize, final Range<Integer> planeRange) throws IOException {
+        System.out.println("we are here and maybe it is wrong.");
         final int rowVectorCount = (int) Math.ceil((double) dims.getX() / (double) vectorSize);
         final int planeCount = planeRange.getTo() - planeRange.getFrom();
+        System.out.println("vectorSize="+vectorSize);
+        System.out.println("planeCount="+planeCount);
         final int vectorCount = planeCount * dims.getY() * rowVectorCount;
-
+        System.out.println("vectorCount="+vectorCount);
         int[][] rowVectors = new int[vectorCount][vectorSize];
 
         int vectorIndex = 0;
@@ -49,9 +52,9 @@ public abstract class BasicLoader {
                     baseX = rowVectorIndex * vectorSize;
 
                     for (int vectorX = 0; vectorX < vectorSize; vectorX++) {
-                        if (baseX + vectorX >= dims.getY())
+                        if ((baseX + vectorX) >= dims.getY())
                             break;
-                        rowVectors[vectorIndex][vectorX] = planeData[Block.index((baseX + vectorX), row, dims.getY())];
+                        rowVectors[vectorIndex][vectorX] = planeData[Block.index((baseX + vectorX), row, dims.getX())];
                     }
                     ++vectorIndex;
                 }