diff --git a/src/main/java/azgracompress/compression/ImageDecompressor.java b/src/main/java/azgracompress/compression/ImageDecompressor.java
index 1bb1f5c11f64053ae6d81bd46c16d0432ec86d3b..4b5651e99891a73f45431a913ba2373cfb214f9d 100644
--- a/src/main/java/azgracompress/compression/ImageDecompressor.java
+++ b/src/main/java/azgracompress/compression/ImageDecompressor.java
@@ -233,7 +233,6 @@ public class ImageDecompressor extends CompressorDecompressorBase {
         return true;
     }
 
-    // TODO(Moravec): Return optional to get rid of null check.
     public Optional<ImageU16Dataset> decompressInMemory() {
         try (FileInputStream fileInputStream = new FileInputStream(options.getInputDataInfo().getFilePath());
              DataInputStream dataInputStream = new DataInputStream(fileInputStream)) {
diff --git a/src/main/java/azgracompress/compression/VQImageCompressor.java b/src/main/java/azgracompress/compression/VQImageCompressor.java
index bc302b1a81eb742b680cd98b8b26fab98b98b3cf..976f40fcc4fd37d9ec9acbd768c7529381b43748 100644
--- a/src/main/java/azgracompress/compression/VQImageCompressor.java
+++ b/src/main/java/azgracompress/compression/VQImageCompressor.java
@@ -207,6 +207,7 @@ public class VQImageCompressor extends CompressorDecompressorBase implements IIm
         final IPlaneLoader planeLoader;
         try {
             planeLoader = PlaneLoaderFactory.getPlaneLoaderForInputFile(options.getInputDataInfo());
+            planeLoader.setWorkerCount(options.getWorkerCount());
         } catch (Exception e) {
             throw new ImageCompressionException("Unable to create reader. " + e.getMessage());
         }
@@ -308,6 +309,7 @@ public class VQImageCompressor extends CompressorDecompressorBase implements IIm
         final int[] huffmanSymbols = createHuffmanSymbols(getCodebookSize());
         try {
             planeLoader = PlaneLoaderFactory.getPlaneLoaderForInputFile(options.getInputDataInfo());
+            planeLoader.setWorkerCount(options.getWorkerCount());
         } catch (Exception e) {
             throw new ImageCompressionException("Unable to create plane reader. " + e.getMessage());
         }
diff --git a/src/main/java/azgracompress/io/loader/BasicLoader.java b/src/main/java/azgracompress/io/loader/BasicLoader.java
index fcc936eae815cd38026092ca671c2342faa82385..3d47d5423d0bda62b7c657af9b0a20b280ee034e 100644
--- a/src/main/java/azgracompress/io/loader/BasicLoader.java
+++ b/src/main/java/azgracompress/io/loader/BasicLoader.java
@@ -8,6 +8,7 @@ import java.io.IOException;
 
 public abstract class BasicLoader {
     protected final V3i dims;
+    protected int threadCount = 1;
 
     protected BasicLoader(final V3i datasetDims) {
         this.dims = datasetDims;
@@ -83,15 +84,13 @@ public abstract class BasicLoader {
      * Load specified planes from dataset to voxel of specified dimensions.
      * This overload uses the valueAt function to read src data.
      *
-     * @param voxelDim    Single voxel dimensions.
-     * @param planeRange  Range of planes to load voxels from.
-     * @param threadCount Number of threads used for loading.
+     * @param voxelDim   Single voxel dimensions.
+     * @param planeRange Range of planes to load voxels from.
      * @return Voxel data arranged in arrays.
      * @throws IOException When fails to load plane data.
      */
     protected int[][] loadVoxelsImplByValueAt(final V3i voxelDim,
-                                              final Range<Integer> planeRange,
-                                              final int threadCount) throws IOException {
+                                              final Range<Integer> planeRange) throws IOException {
 
         // TODO(Moravec): Improve performance of loading.
         final Voxel dstVoxel = new Voxel(voxelDim);
@@ -155,4 +154,8 @@ public abstract class BasicLoader {
         return voxels;
     }
 
+    public void setWorkerCount(final int threadCount) {
+        this.threadCount = threadCount;
+    }
+
 }
diff --git a/src/main/java/azgracompress/io/loader/IPlaneLoader.java b/src/main/java/azgracompress/io/loader/IPlaneLoader.java
index 42162f98ac314b2ef9196b7686e5b4f0687cd467..9fdafcc8d6292574aa07775239da63ccd12bc33d 100644
--- a/src/main/java/azgracompress/io/loader/IPlaneLoader.java
+++ b/src/main/java/azgracompress/io/loader/IPlaneLoader.java
@@ -55,4 +55,11 @@ public interface IPlaneLoader {
      * @throws IOException when fails to load plane data.
      */
     int[][] loadVoxels(final V3i voxelDim, final Range<Integer> planeRange) throws IOException;
+
+    /**
+     * Set thread count, which can be used by the loader if needed.
+     *
+     * @param threadCount Available thread count for loader.
+     */
+    void setWorkerCount(final int threadCount);
 }
diff --git a/src/main/java/azgracompress/io/loader/ImageJBufferLoader.java b/src/main/java/azgracompress/io/loader/ImageJBufferLoader.java
index ecf84c9db25dbb2454a107bd8ad328a08ea4cac0..3aff05a4f1c63dd5e7042cf8d3b769dd8c5cbd7d 100644
--- a/src/main/java/azgracompress/io/loader/ImageJBufferLoader.java
+++ b/src/main/java/azgracompress/io/loader/ImageJBufferLoader.java
@@ -35,7 +35,6 @@ public final class ImageJBufferLoader extends BasicLoader implements IPlaneLoade
     protected int valueAt(int plane, int offset) {
         final short value = ((short[]) bufferInputData.getPixelBuffer(plane))[offset];
         return TypeConverter.shortToInt(value);
-        //        return ((value & 0xFF00) | (value & 0x00FF));
     }
 
     @Override
@@ -94,8 +93,7 @@ public final class ImageJBufferLoader extends BasicLoader implements IPlaneLoade
 
     @Override
     public int[][] loadVoxels(final V3i voxelDim, final Range<Integer> planeRange) throws IOException {
-        // TODO(Moravec): Thread count, now 4, should be configurable.
-        return loadVoxelsImplByValueAt(voxelDim, planeRange, 1);
+        return loadVoxelsImplByValueAt(voxelDim, planeRange);
     }
 }
 
diff --git a/src/main/java/azgracompress/io/loader/PlaneLoaderFactory.java b/src/main/java/azgracompress/io/loader/PlaneLoaderFactory.java
index 7d51b7af9df9e0d8caaf6121d36e0b4536abbf2a..b147eba2f70b90f52a7de6dd42344c557e407dfe 100644
--- a/src/main/java/azgracompress/io/loader/PlaneLoaderFactory.java
+++ b/src/main/java/azgracompress/io/loader/PlaneLoaderFactory.java
@@ -4,8 +4,6 @@ import azgracompress.io.BufferInputData;
 import azgracompress.io.FileInputData;
 import azgracompress.io.InputData;
 
-import java.nio.Buffer;
-
 public final class PlaneLoaderFactory {
 
     /**
@@ -26,6 +24,5 @@ public final class PlaneLoaderFactory {
             default:
                 throw new Exception("Unsupported data loader.");
         }
-//        return null;
     }
 }