diff --git a/src/main/java/cz/it4i/qcmp/cache/QuantizationCacheManager.java b/src/main/java/cz/it4i/qcmp/cache/QuantizationCacheManager.java
index 6142f1e5c20669616498d0785c509a637c6e62db..b63d0ac80af5032e9ddcfe47f122ed17718f932e 100644
--- a/src/main/java/cz/it4i/qcmp/cache/QuantizationCacheManager.java
+++ b/src/main/java/cz/it4i/qcmp/cache/QuantizationCacheManager.java
@@ -2,8 +2,7 @@ package cz.it4i.qcmp.cache;
 
 import cz.it4i.qcmp.compression.CompressionOptions;
 import cz.it4i.qcmp.data.V3i;
-import cz.it4i.qcmp.fileformat.QuantizationType;
-import cz.it4i.qcmp.fileformat.QvcHeaderV2;
+import cz.it4i.qcmp.fileformat.*;
 import cz.it4i.qcmp.quantization.scalar.SQCodebook;
 import cz.it4i.qcmp.quantization.vector.VQCodebook;
 
diff --git a/src/main/java/cz/it4i/qcmp/cache/QvcFileReader.java b/src/main/java/cz/it4i/qcmp/cache/QvcFileReader.java
index 3587714bd9b040f7f734970706fc7cfcfc97689d..0c349379239ec5d41cb685aeeefbd0a3f418647b 100644
--- a/src/main/java/cz/it4i/qcmp/cache/QvcFileReader.java
+++ b/src/main/java/cz/it4i/qcmp/cache/QvcFileReader.java
@@ -1,9 +1,6 @@
 package cz.it4i.qcmp.cache;
 
-import cz.it4i.qcmp.fileformat.IQvcHeader;
-import cz.it4i.qcmp.fileformat.QuantizationType;
-import cz.it4i.qcmp.fileformat.QvcHeaderV1;
-import cz.it4i.qcmp.fileformat.QvcHeaderV2;
+import cz.it4i.qcmp.fileformat.*;
 import cz.it4i.qcmp.io.RawDataIO;
 
 import java.io.DataInputStream;
diff --git a/src/main/java/cz/it4i/qcmp/compression/CompressionOptions.java b/src/main/java/cz/it4i/qcmp/compression/CompressionOptions.java
index 02e987bb65ea469bda6df488c11f150442fa90d1..6888241f747975c1469eab3ea83df0907407553b 100644
--- a/src/main/java/cz/it4i/qcmp/compression/CompressionOptions.java
+++ b/src/main/java/cz/it4i/qcmp/compression/CompressionOptions.java
@@ -1,7 +1,7 @@
 package cz.it4i.qcmp.compression;
 
-import cz.it4i.qcmp.cache.IQvcFile;
 import cz.it4i.qcmp.data.V3i;
+import cz.it4i.qcmp.fileformat.IQvcFile;
 import cz.it4i.qcmp.fileformat.QuantizationType;
 import cz.it4i.qcmp.io.InputData;
 
diff --git a/src/main/java/cz/it4i/qcmp/compression/IImageCompressor.java b/src/main/java/cz/it4i/qcmp/compression/IImageCompressor.java
index c93e3db2ae14bf57ec8c097c7285057562de596f..780c2956e99d0df13e6b98b7dbbff49d4bb0faf8 100644
--- a/src/main/java/cz/it4i/qcmp/compression/IImageCompressor.java
+++ b/src/main/java/cz/it4i/qcmp/compression/IImageCompressor.java
@@ -1,7 +1,7 @@
 package cz.it4i.qcmp.compression;
 
-import cz.it4i.qcmp.cache.IQvcFile;
 import cz.it4i.qcmp.compression.exception.ImageCompressionException;
+import cz.it4i.qcmp.fileformat.IQvcFile;
 import cz.it4i.qcmp.io.InputData;
 
 import java.io.DataOutputStream;
diff --git a/src/main/java/cz/it4i/qcmp/compression/IImageDecompressor.java b/src/main/java/cz/it4i/qcmp/compression/IImageDecompressor.java
index d10870fa3c73025ea13e146dee3f3a096ddc3154..19740c1c66759badde8e429417f17bb65b16aa89 100644
--- a/src/main/java/cz/it4i/qcmp/compression/IImageDecompressor.java
+++ b/src/main/java/cz/it4i/qcmp/compression/IImageDecompressor.java
@@ -1,7 +1,7 @@
 package cz.it4i.qcmp.compression;
 
-import cz.it4i.qcmp.cache.IQvcFile;
 import cz.it4i.qcmp.compression.exception.ImageDecompressionException;
+import cz.it4i.qcmp.fileformat.IQvcFile;
 import cz.it4i.qcmp.fileformat.QCMPFileHeader;
 
 import java.io.DataInputStream;
diff --git a/src/main/java/cz/it4i/qcmp/compression/ImageCompressor.java b/src/main/java/cz/it4i/qcmp/compression/ImageCompressor.java
index 7ff58e137913f5fb91c67be64df39ebf8f1a1cf4..fbaa6edb7b0f62c7555c8bc6d1c745a83b4ee960 100644
--- a/src/main/java/cz/it4i/qcmp/compression/ImageCompressor.java
+++ b/src/main/java/cz/it4i/qcmp/compression/ImageCompressor.java
@@ -1,9 +1,9 @@
 package cz.it4i.qcmp.compression;
 
 import cz.it4i.qcmp.U16;
-import cz.it4i.qcmp.cache.IQvcFile;
 import cz.it4i.qcmp.compression.exception.ImageCompressionException;
 import cz.it4i.qcmp.data.Range;
+import cz.it4i.qcmp.fileformat.IQvcFile;
 import cz.it4i.qcmp.fileformat.QCMPFileHeader;
 import cz.it4i.qcmp.io.InputData;
 
diff --git a/src/main/java/cz/it4i/qcmp/compression/ImageDecompressor.java b/src/main/java/cz/it4i/qcmp/compression/ImageDecompressor.java
index 02ce02884048d0100255589ff1bc1836be470b85..ea8062d623a0d9814bb5b7c116a72de67a35391c 100644
--- a/src/main/java/cz/it4i/qcmp/compression/ImageDecompressor.java
+++ b/src/main/java/cz/it4i/qcmp/compression/ImageDecompressor.java
@@ -1,8 +1,8 @@
 package cz.it4i.qcmp.compression;
 
-import cz.it4i.qcmp.cache.IQvcFile;
 import cz.it4i.qcmp.compression.exception.ImageDecompressionException;
 import cz.it4i.qcmp.data.ImageU16Dataset;
+import cz.it4i.qcmp.fileformat.IQvcFile;
 import cz.it4i.qcmp.fileformat.QCMPFileHeader;
 import cz.it4i.qcmp.fileformat.QuantizationType;
 import cz.it4i.qcmp.utilities.Stopwatch;
diff --git a/src/main/java/cz/it4i/qcmp/compression/SQImageCompressor.java b/src/main/java/cz/it4i/qcmp/compression/SQImageCompressor.java
index 2a5e8f0f5d52bea5d37c6964c97f61b848d8b737..64391e258014c20101a0df9b9f7fc8c4117c02ff 100644
--- a/src/main/java/cz/it4i/qcmp/compression/SQImageCompressor.java
+++ b/src/main/java/cz/it4i/qcmp/compression/SQImageCompressor.java
@@ -1,10 +1,10 @@
 package cz.it4i.qcmp.compression;
 
 import cz.it4i.qcmp.U16;
-import cz.it4i.qcmp.cache.IQvcFile;
 import cz.it4i.qcmp.cache.QuantizationCacheManager;
-import cz.it4i.qcmp.cache.SqQvcFile;
 import cz.it4i.qcmp.compression.exception.ImageCompressionException;
+import cz.it4i.qcmp.fileformat.IQvcFile;
+import cz.it4i.qcmp.fileformat.SqQvcFile;
 import cz.it4i.qcmp.huffman.HuffmanEncoder;
 import cz.it4i.qcmp.io.InputData;
 import cz.it4i.qcmp.io.OutBitStream;
diff --git a/src/main/java/cz/it4i/qcmp/compression/SQImageDecompressor.java b/src/main/java/cz/it4i/qcmp/compression/SQImageDecompressor.java
index a7c3c42b234031aeab669841302e165539085e17..9b2fa953001d0dd4705217604ef7c0ffaa0bf0f2 100644
--- a/src/main/java/cz/it4i/qcmp/compression/SQImageDecompressor.java
+++ b/src/main/java/cz/it4i/qcmp/compression/SQImageDecompressor.java
@@ -1,9 +1,9 @@
 package cz.it4i.qcmp.compression;
 
-import cz.it4i.qcmp.cache.IQvcFile;
-import cz.it4i.qcmp.cache.SqQvcFile;
 import cz.it4i.qcmp.compression.exception.ImageDecompressionException;
+import cz.it4i.qcmp.fileformat.IQvcFile;
 import cz.it4i.qcmp.fileformat.QCMPFileHeader;
+import cz.it4i.qcmp.fileformat.SqQvcFile;
 import cz.it4i.qcmp.huffman.HuffmanDecoder;
 import cz.it4i.qcmp.huffman.HuffmanTreeBuilder;
 import cz.it4i.qcmp.io.InBitStream;
diff --git a/src/main/java/cz/it4i/qcmp/compression/VQImageCompressor.java b/src/main/java/cz/it4i/qcmp/compression/VQImageCompressor.java
index 0c8c112da67a467bd71b1bd8ed7502bc6e253dcc..d1b6ed0a2aa45de60dad2aec4fee1e3b23a61a3a 100644
--- a/src/main/java/cz/it4i/qcmp/compression/VQImageCompressor.java
+++ b/src/main/java/cz/it4i/qcmp/compression/VQImageCompressor.java
@@ -1,11 +1,11 @@
 package cz.it4i.qcmp.compression;
 
-import cz.it4i.qcmp.cache.IQvcFile;
 import cz.it4i.qcmp.cache.QuantizationCacheManager;
-import cz.it4i.qcmp.cache.VqQvcFile;
 import cz.it4i.qcmp.compression.exception.ImageCompressionException;
 import cz.it4i.qcmp.data.Range;
+import cz.it4i.qcmp.fileformat.IQvcFile;
 import cz.it4i.qcmp.fileformat.QuantizationType;
+import cz.it4i.qcmp.fileformat.VqQvcFile;
 import cz.it4i.qcmp.huffman.HuffmanEncoder;
 import cz.it4i.qcmp.io.InputData;
 import cz.it4i.qcmp.io.OutBitStream;
diff --git a/src/main/java/cz/it4i/qcmp/compression/VQImageDecompressor.java b/src/main/java/cz/it4i/qcmp/compression/VQImageDecompressor.java
index 87bc9c7e3f1c3a9c245940c6a0fba45d85a69e3a..47efc54f839e733edfd844492f39445b610f6dbe 100644
--- a/src/main/java/cz/it4i/qcmp/compression/VQImageDecompressor.java
+++ b/src/main/java/cz/it4i/qcmp/compression/VQImageDecompressor.java
@@ -1,11 +1,11 @@
 package cz.it4i.qcmp.compression;
 
-import cz.it4i.qcmp.cache.IQvcFile;
-import cz.it4i.qcmp.cache.VqQvcFile;
 import cz.it4i.qcmp.compression.exception.ImageDecompressionException;
 import cz.it4i.qcmp.data.*;
+import cz.it4i.qcmp.fileformat.IQvcFile;
 import cz.it4i.qcmp.fileformat.QCMPFileHeader;
 import cz.it4i.qcmp.fileformat.QuantizationType;
+import cz.it4i.qcmp.fileformat.VqQvcFile;
 import cz.it4i.qcmp.huffman.HuffmanDecoder;
 import cz.it4i.qcmp.huffman.HuffmanTreeBuilder;
 import cz.it4i.qcmp.io.InBitStream;
diff --git a/src/main/java/cz/it4i/qcmp/cache/IQvcFile.java b/src/main/java/cz/it4i/qcmp/fileformat/IQvcFile.java
similarity index 87%
rename from src/main/java/cz/it4i/qcmp/cache/IQvcFile.java
rename to src/main/java/cz/it4i/qcmp/fileformat/IQvcFile.java
index b4d678abfd6d33d2144768a766fc950d2eca935e..f5a67c7c9889aaf7c2ba70df8274dd3c7ceb8bd0 100644
--- a/src/main/java/cz/it4i/qcmp/cache/IQvcFile.java
+++ b/src/main/java/cz/it4i/qcmp/fileformat/IQvcFile.java
@@ -1,6 +1,4 @@
-package cz.it4i.qcmp.cache;
-
-import cz.it4i.qcmp.fileformat.IQvcHeader;
+package cz.it4i.qcmp.fileformat;
 
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
diff --git a/src/main/java/cz/it4i/qcmp/cache/SqQvcFile.java b/src/main/java/cz/it4i/qcmp/fileformat/SqQvcFile.java
similarity index 97%
rename from src/main/java/cz/it4i/qcmp/cache/SqQvcFile.java
rename to src/main/java/cz/it4i/qcmp/fileformat/SqQvcFile.java
index 9a27713f50b58a059b4a9ab07048c9a2abafb762..df75deac894302e717ad27588a8eaf81acec90e1 100644
--- a/src/main/java/cz/it4i/qcmp/cache/SqQvcFile.java
+++ b/src/main/java/cz/it4i/qcmp/fileformat/SqQvcFile.java
@@ -1,7 +1,5 @@
-package cz.it4i.qcmp.cache;
+package cz.it4i.qcmp.fileformat;
 
-import cz.it4i.qcmp.fileformat.IQvcHeader;
-import cz.it4i.qcmp.fileformat.QvcHeaderV2;
 import cz.it4i.qcmp.huffman.HuffmanNode;
 import cz.it4i.qcmp.huffman.HuffmanTreeBuilder;
 import cz.it4i.qcmp.io.InBitStream;
diff --git a/src/main/java/cz/it4i/qcmp/cache/VqQvcFile.java b/src/main/java/cz/it4i/qcmp/fileformat/VqQvcFile.java
similarity index 97%
rename from src/main/java/cz/it4i/qcmp/cache/VqQvcFile.java
rename to src/main/java/cz/it4i/qcmp/fileformat/VqQvcFile.java
index ab76c5cef728f884e85b0d7ed26afacb80b51be0..83dcc6af614a66072aa453af63c6d659a06b37ca 100644
--- a/src/main/java/cz/it4i/qcmp/cache/VqQvcFile.java
+++ b/src/main/java/cz/it4i/qcmp/fileformat/VqQvcFile.java
@@ -1,7 +1,5 @@
-package cz.it4i.qcmp.cache;
+package cz.it4i.qcmp.fileformat;
 
-import cz.it4i.qcmp.fileformat.IQvcHeader;
-import cz.it4i.qcmp.fileformat.QvcHeaderV2;
 import cz.it4i.qcmp.huffman.HuffmanNode;
 import cz.it4i.qcmp.huffman.HuffmanTreeBuilder;
 import cz.it4i.qcmp.io.InBitStream;