diff --git a/Knot.files b/Knot.files
index e2ddffd5ce9c218b924cc6d14ad13c8425559998..5ce3622650ee9fb93fc66f49f8edf94726438c1e 100644
--- a/Knot.files
+++ b/Knot.files
@@ -82,14 +82,8 @@ src/dnslib/nsec3.h
 src/dnslib/nsec3.c
 src/dnslib/changesets.h
 src/dnslib/changesets.c
-src/dnslib/zone-dump.c
-src/dnslib/zone-dump.h
-src/dnslib/zone-load.c
-src/dnslib/zone-load.h
 src/dnslib/zone-contents.c
 src/dnslib/zone-contents.h
-src/dnslib/zone-dump-text.h
-src/dnslib/zone-dump-text.c
 src/dnslib/zone-tree.h
 src/dnslib/zone-tree.c
 src/dnslib/xfr-in.h
@@ -191,6 +185,12 @@ src/knot/conf/conf.c
 src/knot/conf/conf.h
 src/knot/conf/logconf.c
 src/knot/conf/logconf.h
+src/knot/zone/zone-dump.c
+src/knot/zone/zone-dump.h
+src/knot/zone/zone-load.c
+src/knot/zone/zone-load.h
+src/knot/zone/zone-dump-text.h
+src/knot/zone/zone-dump-text.c
 src/tests/common/acl_tests.c
 src/tests/common/acl_tests.h
 src/tests/common/da_tests.c
diff --git a/src/Makefile.am b/src/Makefile.am
index 77053ab79059605ad4c6c9f753977bc2d4dded9b..82d617c759f89bea8e13f2656d08764cf82cade1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -212,6 +212,12 @@ libknotd_la_SOURCES =				\
 	knot/server/notify.h				\
 	knot/server/notify.c				\
 	knot/server/zones.h				\
+	knot/zone/zone-load.c			\
+	knot/zone/zone-load.h			\
+	knot/zone/zone-dump.c			\
+	knot/zone/zone-dump-text.c			\
+	knot/zone/zone-dump-text.h			\
+	dnslib/zone-dump.h			\
 	knot/server/server.h
 	
 libknot_la_SOURCES =				\
@@ -228,10 +234,7 @@ libknot_la_SOURCES =				\
 	dnslib/zone.c				\
 	dnslib/zone-contents.c			\
 	dnslib/zonedb.c				\
-	dnslib/zone-load.c			\
 	dnslib/debug.c				\
-	dnslib/zone-dump.c			\
-	dnslib/zone-dump-text.c			\
 	dnslib/zone-tree.c			\
 	dnslib/zone-tree.h			\
 	dnslib/rdata.c				\
@@ -255,14 +258,12 @@ libknot_la_SOURCES =				\
 	dnslib/dnslib.h				\
 	dnslib/tolower.h			\
 	dnslib/tolower.c			\
-	dnslib/zone-dump.h			\
 	dnslib/dname.h				\
 	dnslib/packet.h			\
 	dnslib/query.h				\
 	dnslib/response2.h			\
 	dnslib/response.h			\
 	dnslib/rrset.h				\
-	dnslib/zone-load.h			\
 	dnslib/utils.h				\
 	dnslib/wire.h				\
 	dnslib/debug.h				\
@@ -281,9 +282,9 @@ libknotd_la_LIBADD = libknot.la libknots.la @LIBOBJS@
 libknots_la_LIBADD = @LIBOBJS@
 knotd_LDADD = libknotd.la libknot.la libknots.la @LIBOBJS@
 knotc_LDADD = libknotd.la libknot.la libknots.la @LIBOBJS@
-knot_zcompile_LDADD = libknots.la libknot.la @LIBOBJS@
+knot_zcompile_LDADD = libknots.la libknot.la libknotd.la @LIBOBJS@
 unittests_LDADD = libknotd.la libknots.la @LIBOBJS@
-unittests_zcompile_LDADD = libknot.la libknots.la @LIBOBJS@
+unittests_zcompile_LDADD = libknot.la libknots.la libknotd.la @LIBOBJS@
 unittests_dnslib_LDADD = libknot.la libknots.la @LIBOBJS@
 unittests_dnslib_realdata_LDADD = libknot.la libknots.la @LIBOBJS@
 
diff --git a/src/dnslib/dnslib.h b/src/dnslib/dnslib.h
index 444bcf630117ab2fc3bd7ae4123acf4bd49bb099..be45b9a528aa9edaec88ac12bec977fab9cb2e4d 100644
--- a/src/dnslib/dnslib.h
+++ b/src/dnslib/dnslib.h
@@ -20,14 +20,10 @@
 #include "dnslib/nsec3.h"
 #include "dnslib/wire.h"
 #include "dnslib/rdata.h"
-//#include "dnslib/response.h"
+#include "dnslib/response2.h"
 #include "dnslib/rrset.h"
 #include "dnslib/tolower.h"
 #include "dnslib/utils.h"
-#include "dnslib/zone-dump-text.h"
-#include "dnslib/zone-dump.h"
-#include "dnslib/zone-load.h"
-#include "dnslib/zone.h"
 #include "dnslib/zonedb.h"
 #include "dnslib/error.h"
 
diff --git a/src/dnslib/name-server.c b/src/dnslib/name-server.c
index 36504aa38030c6c58bfd5de301c19bc691c20f8b..ff34609621e6d2f839ebd48c2a01c347c9df226e 100644
--- a/src/dnslib/name-server.c
+++ b/src/dnslib/name-server.c
@@ -15,8 +15,8 @@
 #include "dnslib/response2.h"
 #include "dnslib/query.h"
 #include "dnslib/consts.h"
-#include "dnslib/zone-dump-text.h"
-#include "dnslib/zone-dump.h"
+#include "knot/zone/zone-dump-text.h"
+#include "knot/zone/zone-dump.h"
 #include "dnslib/changesets.h"
 
 /*----------------------------------------------------------------------------*/
diff --git a/src/dnslib/xfr-in.c b/src/dnslib/xfr-in.c
index bd38128b33b124f7881a4aa53fdc5c90e8cd756e..b72a3707e841f895d4c1061a158264f70edab20d 100644
--- a/src/dnslib/xfr-in.c
+++ b/src/dnslib/xfr-in.c
@@ -5,8 +5,8 @@
 
 #include "dnslib/name-server.h"
 #include "dnslib/debug.h"
-#include "dnslib/zone-dump.h"
-#include "dnslib/zone-load.h"
+#include "knot/zone/zone-dump.h"
+#include "knot/zone/zone-load.h"
 #include "dnslib/packet.h"
 #include "dnslib/dname.h"
 #include "dnslib/zone.h"
diff --git a/src/knot/ctl/knotc_main.c b/src/knot/ctl/knotc_main.c
index e580986b44c829479fb3e49e5e5d133c90ac3c7a..d944e19359e8ed1309d1c5708e5effcbffedba81 100644
--- a/src/knot/ctl/knotc_main.c
+++ b/src/knot/ctl/knotc_main.c
@@ -12,7 +12,7 @@
 #include "knot/ctl/process.h"
 #include "knot/conf/conf.h"
 #include "knot/conf/logconf.h"
-#include "dnslib/zone-load.h"
+#include "knot/zone/zone-load.h"
 
 /*! \brief Controller constants. */
 enum knotc_constants_t {
diff --git a/src/knot/server/server.c b/src/knot/server/server.c
index b2f38a4faea3b2e3626268f5bafdf78361097a38..37255f0d9e7cedea5a6474567df56320badae396 100644
--- a/src/knot/server/server.c
+++ b/src/knot/server/server.c
@@ -16,7 +16,7 @@
 #include "dnslib/name-server.h"
 #include "knot/stat/stat.h"
 #include "dnslib/zonedb.h"
-#include "dnslib/zone-load.h"
+#include "knot/zone/zone-load.h"
 #include "dnslib/debug.h"
 #include "dnslib/dname.h"
 #include "knot/conf/conf.h"
diff --git a/src/knot/server/zones.c b/src/knot/server/zones.c
index 5ccc18644cad5b60e1d1552546ed6613e736fce2..0cc6d667ee872e5e1306738ea5ee1d9e103e1daa 100644
--- a/src/knot/server/zones.c
+++ b/src/knot/server/zones.c
@@ -4,8 +4,8 @@
 #include "dnslib/debug.h"
 #include "dnslib/dname.h"
 #include "dnslib/wire.h"
-#include "dnslib/zone-dump-text.h"
-#include "dnslib/zone-load.h"
+#include "knot/zone/zone-dump-text.h"
+#include "knot/zone/zone-load.h"
 #include "dnslib/zone.h"
 #include "dnslib/zonedb.h"
 #include "knot/conf/conf.h"
@@ -17,7 +17,7 @@
 #include "dnslib/xfr-in.h"
 #include "knot/server/zones.h"
 #include "dnslib/error.h"
-#include "dnslib/zone-dump.h"
+#include "knot/zone/zone-dump.h"
 #include "dnslib/name-server.h"
 #include "dnslib/changesets.h"
 
diff --git a/src/dnslib/zone-dump-text.c b/src/knot/zone/zone-dump-text.c
similarity index 100%
rename from src/dnslib/zone-dump-text.c
rename to src/knot/zone/zone-dump-text.c
diff --git a/src/dnslib/zone-dump-text.h b/src/knot/zone/zone-dump-text.h
similarity index 100%
rename from src/dnslib/zone-dump-text.h
rename to src/knot/zone/zone-dump-text.h
diff --git a/src/dnslib/zone-dump.c b/src/knot/zone/zone-dump.c
similarity index 99%
rename from src/dnslib/zone-dump.c
rename to src/knot/zone/zone-dump.c
index 370c38a304fca57ebb757935a46962fd02866e5c..2838d71b3d92368bc2b4febc8be1023f15e1215a 100644
--- a/src/dnslib/zone-dump.c
+++ b/src/knot/zone/zone-dump.c
@@ -5,7 +5,7 @@
 #include <netinet/in.h>
 
 #include "dnslib/dnslib-common.h"
-#include "dnslib/zone-dump.h"
+#include "knot/zone/zone-dump.h"
 #include "dnslib/dnslib.h"
 #include "dnslib/debug.h"
 #include "common/skip-list.h"
diff --git a/src/dnslib/zone-dump.h b/src/knot/zone/zone-dump.h
similarity index 100%
rename from src/dnslib/zone-dump.h
rename to src/knot/zone/zone-dump.h
diff --git a/src/dnslib/zone-load.c b/src/knot/zone/zone-load.c
similarity index 99%
rename from src/dnslib/zone-load.c
rename to src/knot/zone/zone-load.c
index 1edfcf0477e485b536f91e88ae62db679945dd91..89eac9efebef68a91affd22212733b922735eb64 100644
--- a/src/dnslib/zone-load.c
+++ b/src/knot/zone/zone-load.c
@@ -9,8 +9,8 @@
 
 #include "common/crc.h"
 #include "dnslib/dnslib-common.h"
-#include "dnslib/zone-load.h"
-#include "dnslib/zone-dump.h"
+#include "knot/zone/zone-load.h"
+#include "knot/zone/zone-dump.h"
 #include "dnslib/dnslib.h"
 #include "dnslib/debug.h"
 
diff --git a/src/dnslib/zone-load.h b/src/knot/zone/zone-load.h
similarity index 100%
rename from src/dnslib/zone-load.h
rename to src/knot/zone/zone-load.h
diff --git a/src/zcompile/tests/zcompile_tests.c b/src/zcompile/tests/zcompile_tests.c
index 04aec9370f9e339d1b7e13544ff84439366ae928..09e63bedc5cbb9ce868e7c5b8f0aa16b3dbdf1d0 100644
--- a/src/zcompile/tests/zcompile_tests.c
+++ b/src/zcompile/tests/zcompile_tests.c
@@ -1,7 +1,7 @@
 #include <assert.h>
 
 #include "dnslib/zone.h"
-#include "dnslib/zone-load.h"
+#include "knot/zone/zone-load.h"
 #include "dnslib/rrset.h"
 #include "dnslib/descriptor.h"
 #include "zcompile/zcompile.h"