diff --git a/src/micado/main/DataExtensionImage.py b/src/micado/main/DataExtensionImage.py
index 7dfc6508eacdf19f61f6c1d5a42a11d5beddc0ec..3263ffb25167e8392312e49e1b55ad7ea24b0f49 100644
--- a/src/micado/main/DataExtensionImage.py
+++ b/src/micado/main/DataExtensionImage.py
@@ -37,3 +37,15 @@ class DataExtensionImage(DataExtension):
                 self.NAXIS2 = 2 * int(numpy.round(detector.yhw / detector.pixsize))
             if self.EXTNAME == '':
                 self.EXTNAME = detector.id
+
+
+class DataExtensionVariance(DataExtensionImage):
+    """
+    Variance layer of the image.
+    """
+
+
+class DataExtensionQuality(DataExtensionImage):
+    """
+    Quality layer of the image.
+    """
diff --git a/src/micado/recipes/CreateVarDqLayers_make.py b/src/micado/recipes/CreateVarDqLayers_make.py
new file mode 100644
index 0000000000000000000000000000000000000000..9bc82c1119a382083344f32e9d03fb959105f6c1
--- /dev/null
+++ b/src/micado/recipes/CreateVarDqLayers_make.py
@@ -0,0 +1,57 @@
+# -*- coding: utf-8 -*-
+"""
+CreateVarDqLayers
+"""
+
+import numpy
+
+from micado.main.Img import Img
+from micado.main.DataExtensionImage import (
+    DataExtensionImage, DataExtensionVariance, DataExtensionQuality
+)
+
+
+def make(raw):
+    """
+    CreateVarDqLayers
+    """
+    extensions = [
+        DataExtensionImage(
+            NAXIS=rawextension.NAXIS,
+            NAXIS1=rawextension.NAXIS1,
+            NAXIS2=rawextension.NAXIS2,
+            BITPIX=rawextension.BITPIX,
+            data=rawextension.data,
+        )
+        for rawextension in raw.extensions
+    ]
+    variances = [
+        DataExtensionVariance(
+            NAXIS=rawextension.NAXIS,
+            NAXIS1=rawextension.NAXIS1,
+            NAXIS2=rawextension.NAXIS2,
+            BITPIX=rawextension.BITPIX,
+            data=rawextension.data,
+        )
+        for rawextension in raw.extensions
+    ]
+    qualities = [
+        DataExtensionQuality(
+            NAXIS=rawextension.NAXIS,
+            NAXIS1=rawextension.NAXIS1,
+            NAXIS2=rawextension.NAXIS2,
+            BITPIX=rawextension.BITPIX,
+            data=numpy.zeros(
+                (rawextension.NAXIS1, rawextension.NAXIS2),
+                dtype="int32",
+            ),
+        )
+        for rawextension in raw.extensions
+    ]
+
+    img = Img()
+    img.extensionn = extensions
+    img.variances = variances
+    img.qualities = qualities
+
+    return img