diff --git a/Knot.files b/Knot.files
index 83400c1472c05b35cd461b11baffecd4eecc6625..f023311025301fedbfb7979099a5cdd6725719b7 100644
--- a/Knot.files
+++ b/Knot.files
@@ -121,12 +121,24 @@ src/knot/stat/stat.c
 src/knot/stat/stat.h
 src/knot/zone/estimator.c
 src/knot/zone/estimator.h
+src/knot/zone/node.c
+src/knot/zone/node.h
 src/knot/zone/semantic-check.c
 src/knot/zone/semantic-check.h
+src/knot/zone/zone-contents.c
+src/knot/zone/zone-contents.h
+src/knot/zone/zone-diff.c
+src/knot/zone/zone-diff.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-tree.c
+src/knot/zone/zone-tree.h
+src/knot/zone/zone.c
+src/knot/zone/zone.h
+src/knot/zone/zonedb.c
+src/knot/zone/zonedb.h
 src/libknot/binary.c
 src/libknot/binary.h
 src/libknot/common.h
@@ -140,6 +152,10 @@ src/libknot/dnssec/crypto.h
 src/libknot/dnssec/key.c
 src/libknot/dnssec/key.h
 src/libknot/dnssec/nsec-bitmap.h
+src/libknot/dnssec/nsec-chain.c
+src/libknot/dnssec/nsec-chain.h
+src/libknot/dnssec/nsec3-chain.c
+src/libknot/dnssec/nsec3-chain.h
 src/libknot/dnssec/nsec3.c
 src/libknot/dnssec/nsec3.h
 src/libknot/dnssec/policy.c
@@ -205,18 +221,6 @@ src/libknot/util/tolower.c
 src/libknot/util/tolower.h
 src/libknot/util/utils.c
 src/libknot/util/utils.h
-src/libknot/zone/node.c
-src/libknot/zone/node.h
-src/libknot/zone/zone-contents.c
-src/libknot/zone/zone-contents.h
-src/libknot/zone/zone-diff.c
-src/libknot/zone/zone-diff.h
-src/libknot/zone/zone-tree.c
-src/libknot/zone/zone-tree.h
-src/libknot/zone/zone.c
-src/libknot/zone/zone.h
-src/libknot/zone/zonedb.c
-src/libknot/zone/zonedb.h
 src/utils/common/exec.c
 src/utils/common/exec.h
 src/utils/common/msg.c
@@ -297,7 +301,3 @@ tests/tap/macros.h
 tests/wire.c
 tests/zonedb.c
 tests/ztree.c
-src/libknot/dnssec/nsec-chain.c
-src/libknot/dnssec/nsec3-chain.c
-src/libknot/dnssec/nsec-chain.h
-src/libknot/dnssec/nsec3-chain.h
diff --git a/src/Makefile.am b/src/Makefile.am
index 35025a988784bb0bf90987b528c991b953e5404f..288148954cb524eeb78539d0b67f2f3bd007cd5e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -114,18 +114,6 @@ libknot_la_SOURCES =				\
 	libknot/packet/compr.c			\
 	libknot/packet/compr.h			\
 	libknot/packet/wire.h			\
-	libknot/zone/zone.c			\
-	libknot/zone/zone-contents.c		\
-	libknot/zone/zone-tree.c		\
-	libknot/zone/zone-tree.h		\
-	libknot/zone/node.h			\
-	libknot/zone/zone.h			\
-	libknot/zone/zone-contents.h		\
-	libknot/zone/zonedb.c			\
-	libknot/zone/zonedb.h			\
-	libknot/zone/node.c			\
-	libknot/zone/zone-diff.h		\
-	libknot/zone/zone-diff.c		\
 	libknot/nameserver/nsec_proofs.h	\
 	libknot/nameserver/nsec_proofs.c	\
 	libknot/nameserver/name-server.h	\
@@ -301,7 +289,19 @@ libknotd_la_SOURCES =				\
 	knot/zone/zone-dump.c			\
 	knot/zone/zone-dump.h			\
 	knot/zone/zone-load.c			\
-	knot/zone/zone-load.h
+	knot/zone/zone-load.h			\
+	knot/zone/node.c			\
+	knot/zone/node.h			\
+	knot/zone/zone-contents.c		\
+	knot/zone/zone-contents.h		\
+	knot/zone/zone-diff.c		\
+	knot/zone/zone-diff.h		\
+	knot/zone/zone-tree.c		\
+	knot/zone/zone-tree.h		\
+	knot/zone/zone.c			\
+	knot/zone/zone.h			\
+	knot/zone/zonedb.c			\
+	knot/zone/zonedb.h
 
 libknotd_la_LIBADD = libknot.la libknots.la @LIBOBJS@
 libknots_la_LIBADD = zscanner/libzscanner.la @LIBOBJS@
diff --git a/src/knot/server/notify.c b/src/knot/server/notify.c
index 101dd9dbdeded987305cbfb56033f7ce44217450..9a31debf5ced06626e60a99c23dd81f3d2116df4 100644
--- a/src/knot/server/notify.c
+++ b/src/knot/server/notify.c
@@ -24,7 +24,7 @@
 #include "libknot/packet/pkt.h"
 #include "libknot/rrset.h"
 #include "libknot/consts.h"
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zonedb.h"
 #include "libknot/common.h"
 #include "libknot/packet/wire.h"
 #include "knot/server/zones.h"
diff --git a/src/knot/server/notify.h b/src/knot/server/notify.h
index d309cafcd2b60df0ca1ffdde44bdb8012708a83e..579e3fa350d05605bd6fbc22084045326a2f3e87 100644
--- a/src/knot/server/notify.h
+++ b/src/knot/server/notify.h
@@ -30,9 +30,9 @@
 #include <stdint.h>
 #include <string.h>
 
-#include "libknot/zone/zone.h"
+#include "knot/zone/zone.h"
 #include "libknot/packet/pkt.h"
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zonedb.h"
 #include "common/lists.h"
 #include "common/sockaddr.h"
 #include "libknot/nameserver/name-server.h"
diff --git a/src/knot/server/rrl.h b/src/knot/server/rrl.h
index 4ffb00d38d0b80a540c37c60de6a25aa78fb709a..fca9a43ab867af6c19eee4be9c0c7b172c1be6e0 100644
--- a/src/knot/server/rrl.h
+++ b/src/knot/server/rrl.h
@@ -31,7 +31,7 @@
 #include <pthread.h>
 #include "common/sockaddr.h"
 #include "libknot/packet/pkt.h"
-#include "libknot/zone/zone.h"
+#include "knot/zone/zone.h"
 
 /* Defaults */
 #define RRL_SLIP_MAX 100
diff --git a/src/knot/server/server.c b/src/knot/server/server.c
index fe81f8dcbb2de9e2cab85421aadad4e6df9e1b8d..155fd4577d8a743944196132bdeaf0e6195513d4 100644
--- a/src/knot/server/server.c
+++ b/src/knot/server/server.c
@@ -31,7 +31,7 @@
 #include "knot/conf/conf.h"
 #include "knot/stat/stat.h"
 #include "libknot/nameserver/name-server.h"
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zonedb.h"
 #include "libknot/dname.h"
 #include "libknot/dnssec/crypto.h"
 #include "libknot/dnssec/random.h"
diff --git a/src/knot/server/server.h b/src/knot/server/server.h
index 55e3cbb9c3db3122c78a4808d9f546f1a53f4e19..622845ad45fe500fae0dacca48fbcaa185078dbd 100644
--- a/src/knot/server/server.h
+++ b/src/knot/server/server.h
@@ -41,7 +41,7 @@
 #include "knot/server/socket.h"
 #include "knot/server/dthreads.h"
 #include "knot/server/rrl.h"
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zonedb.h"
 #include "common/evsched.h"
 #include "common/lists.h"
 
diff --git a/src/knot/server/zone-load.c b/src/knot/server/zone-load.c
index a7c56b7bdce48a051c55b37bc77254f7852fe961..b5e4349c7970eff0926ea342f821e7082a5350eb 100644
--- a/src/knot/server/zone-load.c
+++ b/src/knot/server/zone-load.c
@@ -29,9 +29,9 @@
 #include "libknot/dnssec/random.h"
 #include "libknot/nameserver/name-server.h"
 #include "libknot/rdata.h"
-#include "libknot/zone/zone.h"
-#include "libknot/zone/zone.h"
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zone.h"
+#include "knot/zone/zone.h"
+#include "knot/zone/zonedb.h"
 #include "zscanner/descriptor.h"
 
 static const size_t XFRIN_BOOTSTRAP_DELAY = 2000; /*!< AXFR bootstrap avg. delay */
diff --git a/src/knot/server/zone-load.h b/src/knot/server/zone-load.h
index d3df5fdefe0d1a155e85daadd847979a57437c3d..5fa4c370b3c3cd8307d38d3c26742e3f2feb93c0 100644
--- a/src/knot/server/zone-load.h
+++ b/src/knot/server/zone-load.h
@@ -27,7 +27,7 @@
 
 #include "knot/conf/conf.h"
 #include "libknot/nameserver/name-server.h"
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zonedb.h"
 
 /*!
  * \brief Update zone database according to configuration.
diff --git a/src/knot/server/zones.c b/src/knot/server/zones.c
index 0886ae7dfbca71dffbd6f2882f71742544be1f3b..568068d7a66e7a4fa51ce0b1ac2e79a43d163e41 100644
--- a/src/knot/server/zones.c
+++ b/src/knot/server/zones.c
@@ -39,10 +39,10 @@
 #include "libknot/updates/ddns.h"
 #include "libknot/updates/xfr-in.h"
 #include "libknot/packet/wire.h"
-#include "libknot/zone/zone-contents.h"
-#include "libknot/zone/zone-diff.h"
-#include "libknot/zone/zone.h"
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zone-contents.h"
+#include "knot/zone/zone-diff.h"
+#include "knot/zone/zone.h"
+#include "knot/zone/zonedb.h"
 #include "zscanner/descriptor.h"
 
 /* Forward declarations. */
diff --git a/src/knot/server/zones.h b/src/knot/server/zones.h
index 288e61407c27eb4617b277dd7eaea8d395c5249e..ec05cd664b09f380167644c38776325f34a9ce6f 100644
--- a/src/knot/server/zones.h
+++ b/src/knot/server/zones.h
@@ -33,12 +33,12 @@
 #include "common/acl.h"
 #include "common/evsched.h"
 #include "libknot/nameserver/name-server.h"
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zonedb.h"
 #include "knot/conf/conf.h"
 #include "knot/server/notify.h"
 #include "knot/server/server.h"
 #include "knot/server/journal.h"
-#include "libknot/zone/zone.h"
+#include "knot/zone/zone.h"
 #include "libknot/updates/xfr-in.h"
 
 /* Constants. */
diff --git a/src/knot/zone/estimator.c b/src/knot/zone/estimator.c
index 8a01d42d0d66b849f48be5bf68443acb644299e0..1c26160cc4ce8adf4c825643928826d64b39ed7c 100644
--- a/src/knot/zone/estimator.c
+++ b/src/knot/zone/estimator.c
@@ -20,7 +20,7 @@
 #include "knot/zone/estimator.h"
 #include "libknot/dname.h"
 #include "common/lists.h"
-#include "libknot/zone/node.h"
+#include "knot/zone/node.h"
 #include "zscanner/scanner.h"
 #include "common/descriptor.h"
 
diff --git a/src/libknot/zone/node.c b/src/knot/zone/node.c
similarity index 99%
rename from src/libknot/zone/node.c
rename to src/knot/zone/node.c
index 318f1ed205b4587bc98b3710556d230e6caa8a19..326b3bbd5a8e3cd96feb860b41194b4a0833b087 100644
--- a/src/libknot/zone/node.c
+++ b/src/knot/zone/node.c
@@ -22,7 +22,7 @@
 #include <urcu.h>
 
 #include "libknot/common.h"
-#include "libknot/zone/node.h"
+#include "knot/zone/node.h"
 #include "libknot/rrset.h"
 #include "common/descriptor.h"
 #include "libknot/util/debug.h"
@@ -98,7 +98,6 @@ knot_node_t *knot_node_new(const knot_dname_t *owner, knot_node_t *parent,
 	return ret;
 }
 
-
 int knot_node_add_rrset_no_merge(knot_node_t *node, knot_rrset_t *rrset)
 {
 	if (node == NULL) {
@@ -270,7 +269,6 @@ const knot_rrset_t **knot_node_rrsets_no_copy(const knot_node_t *node)
 	return (const knot_rrset_t **)knot_node_get_rrsets_no_copy(node);
 }
 
-
 /*----------------------------------------------------------------------------*/
 
 const knot_node_t *knot_node_parent(const knot_node_t *node)
@@ -682,4 +680,3 @@ int knot_node_shallow_copy(const knot_node_t *from, knot_node_t **to)
 
 	return KNOT_EOK;
 }
-
diff --git a/src/libknot/zone/node.h b/src/knot/zone/node.h
similarity index 100%
rename from src/libknot/zone/node.h
rename to src/knot/zone/node.h
diff --git a/src/knot/zone/semantic-check.h b/src/knot/zone/semantic-check.h
index 6e520418c4d9cb096469042b9796cfbba3947ea5..c5fa439ad28cac6abca03b45de0a5c73a51c593f 100644
--- a/src/knot/zone/semantic-check.h
+++ b/src/knot/zone/semantic-check.h
@@ -27,8 +27,8 @@
 #ifndef _KNOT_SEMANTIC_CHECK_H_
 #define _KNOT_SEMANTIC_CHECK_H_
 
-#include "libknot/zone/node.h"
-#include "libknot/zone/zone-contents.h"
+#include "knot/zone/node.h"
+#include "knot/zone/zone-contents.h"
 
 /*!
  *\brief Internal error constants. General errors are added for convenience,
diff --git a/src/libknot/zone/zone-contents.c b/src/knot/zone/zone-contents.c
similarity index 99%
rename from src/libknot/zone/zone-contents.c
rename to src/knot/zone/zone-contents.c
index 922b0417be20a0b72008bcb225e5b97f8ce795f9..725fa76aa59aa85463af684fb14109de19936a74 100644
--- a/src/libknot/zone/zone-contents.c
+++ b/src/knot/zone/zone-contents.c
@@ -17,7 +17,7 @@
 #include <config.h>
 #include <assert.h>
 
-#include "libknot/zone/zone-contents.h"
+#include "knot/zone/zone-contents.h"
 #include "libknot/util/debug.h"
 #include "libknot/rrset.h"
 #include "common/base32hex.h"
@@ -25,7 +25,7 @@
 #include "common/hattrie/hat-trie.h"
 #include "libknot/dnssec/zone-nsec.h"
 #include "libknot/dnssec/zone-sign.h"
-#include "libknot/zone/zone-tree.h"
+#include "knot/zone/zone-tree.h"
 #include "libknot/packet/wire.h"
 #include "libknot/consts.h"
 #include "libknot/rdata.h"
diff --git a/src/libknot/zone/zone-contents.h b/src/knot/zone/zone-contents.h
similarity index 99%
rename from src/libknot/zone/zone-contents.h
rename to src/knot/zone/zone-contents.h
index df2a4f57cd7935144becf1a4ceb35253785b541d..073c2c8568b9f38beec2c013c6ae88bb37f1a840 100644
--- a/src/libknot/zone/zone-contents.h
+++ b/src/knot/zone/zone-contents.h
@@ -27,11 +27,11 @@
 #ifndef _KNOT_ZONE_CONTENTS_H_
 #define _KNOT_ZONE_CONTENTS_H_
 
-#include "libknot/zone/node.h"
+#include "knot/zone/node.h"
 #include "libknot/dname.h"
 #include "libknot/dnssec/nsec3.h"
 
-#include "libknot/zone/zone-tree.h"
+#include "knot/zone/zone-tree.h"
 
 struct knot_zone;
 
diff --git a/src/libknot/zone/zone-diff.c b/src/knot/zone/zone-diff.c
similarity index 99%
rename from src/libknot/zone/zone-diff.c
rename to src/knot/zone/zone-diff.c
index a5d73b3dd00e5ebf06bdad0975b35e1fd31b1ce5..3b8c1b1a1da711f69667b773c86d5122950d9ba9 100644
--- a/src/libknot/zone/zone-diff.c
+++ b/src/knot/zone/zone-diff.c
@@ -21,7 +21,7 @@
 
 #include "libknot/util/debug.h"
 #include "common/errcode.h"
-#include "libknot/zone/zone-diff.h"
+#include "knot/zone/zone-diff.h"
 #include "libknot/nameserver/name-server.h"
 #include "common/descriptor.h"
 #include "libknot/rdata.h"
diff --git a/src/libknot/zone/zone-diff.h b/src/knot/zone/zone-diff.h
similarity index 97%
rename from src/libknot/zone/zone-diff.h
rename to src/knot/zone/zone-diff.h
index 1c1824b0d5dbcbb952edb063f7af9a0a7e68e2c3..0609868b8d79d9cb6848755ce46d45070dd8b8fe 100644
--- a/src/libknot/zone/zone-diff.h
+++ b/src/knot/zone/zone-diff.h
@@ -19,7 +19,7 @@
 
 #include <stdint.h>
 
-#include "libknot/zone/zone-contents.h"
+#include "knot/zone/zone-contents.h"
 #include "libknot/updates/changesets.h"
 
 /*!
diff --git a/src/knot/zone/zone-dump.h b/src/knot/zone/zone-dump.h
index 8b8cb0b7b82638767a8211257991c9da2b8b4de4..f430065ea79460d6a417afb4eccb4d833fdbe49d 100644
--- a/src/knot/zone/zone-dump.h
+++ b/src/knot/zone/zone-dump.h
@@ -27,7 +27,7 @@
 #ifndef _KNOTD_ZONEDUMP_H_
 #define _KNOTD_ZONEDUMP_H_
 
-#include "libknot/zone/zone.h"
+#include "knot/zone/zone.h"
 
 /*!
  * \brief Dumps given zone to text file.
diff --git a/src/knot/zone/zone-load.c b/src/knot/zone/zone-load.c
index 5b57ecac3c160150328cebd42cb6f4497524e823..76b87f55ae4f6bcdc293cd8d31eab31d64a9841c 100644
--- a/src/knot/zone/zone-load.c
+++ b/src/knot/zone/zone-load.c
@@ -30,7 +30,7 @@
 #include "common/crc.h"
 #include "libknot/common.h"
 #include "knot/zone/semantic-check.h"
-#include "libknot/zone/zone-contents.h"
+#include "knot/zone/zone-contents.h"
 #include "libknot/dnssec/zone-nsec.h"
 #include "knot/other/debug.h"
 #include "knot/zone/zone-load.h"
diff --git a/src/knot/zone/zone-load.h b/src/knot/zone/zone-load.h
index fbc70329fef73fd1ad8f70b2643cd3a76d816a59..c94d7b733a6852f19c32439d7e8c135133c6d6e9 100644
--- a/src/knot/zone/zone-load.h
+++ b/src/knot/zone/zone-load.h
@@ -29,7 +29,7 @@
 
 #include <stdio.h>
 
-#include "libknot/zone/zone.h"
+#include "knot/zone/zone.h"
 #include "knot/zone/semantic-check.h"
 #include "zscanner/zscanner.h"
 
diff --git a/src/libknot/zone/zone-tree.c b/src/knot/zone/zone-tree.c
similarity index 99%
rename from src/libknot/zone/zone-tree.c
rename to src/knot/zone/zone-tree.c
index e09ef64c7dcd9daadc215b2d94226873254658c8..8e3f271387f67e85ed7e60ca1a0666daf2c21c81 100644
--- a/src/libknot/zone/zone-tree.c
+++ b/src/knot/zone/zone-tree.c
@@ -19,7 +19,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 
-#include "libknot/zone/node.h"
+#include "knot/zone/node.h"
 #include "libknot/util/debug.h"
 #include "common/hattrie/hat-trie.h"
 
diff --git a/src/libknot/zone/zone-tree.h b/src/knot/zone/zone-tree.h
similarity index 99%
rename from src/libknot/zone/zone-tree.h
rename to src/knot/zone/zone-tree.h
index 8a80e1b6efce9fbedbf3d6e30e18ec83345a36d8..1248220c96d7676c677f3bbd7702d258ef66b9d0 100644
--- a/src/libknot/zone/zone-tree.h
+++ b/src/knot/zone/zone-tree.h
@@ -30,7 +30,7 @@
 #define _KNOT_ZONE_TREE_H_
 
 #include "common/hattrie/hat-trie.h"
-#include "libknot/zone/node.h"
+#include "knot/zone/node.h"
 
 /*----------------------------------------------------------------------------*/
 
diff --git a/src/libknot/zone/zone.c b/src/knot/zone/zone.c
similarity index 98%
rename from src/libknot/zone/zone.c
rename to src/knot/zone/zone.c
index 6f766efa5d5b1b3b93fa2b5476efbec4fdd9fece..0415cefdc2df3b2fc8dac82aab0fcf82d2c8c39c 100644
--- a/src/libknot/zone/zone.c
+++ b/src/knot/zone/zone.c
@@ -22,12 +22,12 @@
 #include <urcu.h>
 
 #include "libknot/common.h"
-#include "libknot/zone/zone.h"
-#include "libknot/zone/node.h"
+#include "knot/zone/zone.h"
+#include "knot/zone/node.h"
 #include "libknot/dname.h"
 #include "libknot/util/debug.h"
 #include "libknot/util/utils.h"
-#include "libknot/zone/zone-contents.h"
+#include "knot/zone/zone-contents.h"
 
 /*! \brief Adaptor for knot_zone_deep_free() */
 static void knot_zone_dtor(struct ref_t *p) {
diff --git a/src/libknot/zone/zone.h b/src/knot/zone/zone.h
similarity index 97%
rename from src/libknot/zone/zone.h
rename to src/knot/zone/zone.h
index 08b493d5746ade638f74db7de30595cc2124387e..8e9498fded686dd6d39ad41842d309f8779de789 100644
--- a/src/libknot/zone/zone.h
+++ b/src/knot/zone/zone.h
@@ -29,14 +29,14 @@
 
 #include <time.h>
 
-#include "libknot/zone/node.h"
+#include "knot/zone/node.h"
 #include "libknot/dname.h"
 #include "libknot/dnssec/nsec3.h"
 #include "common/ref.h"
 
-#include "libknot/zone/zone-tree.h"
+#include "knot/zone/zone-tree.h"
 
-#include "libknot/zone/zone-contents.h"
+#include "knot/zone/zone-contents.h"
 
 /*----------------------------------------------------------------------------*/
 /*!
diff --git a/src/libknot/zone/zonedb.c b/src/knot/zone/zonedb.c
similarity index 98%
rename from src/libknot/zone/zonedb.c
rename to src/knot/zone/zonedb.c
index b75c1959e4d5c19494e3d626c53d52a06acb9226..7b5119328c9394bbe302e32810f574da6b1948d7 100644
--- a/src/libknot/zone/zonedb.c
+++ b/src/knot/zone/zonedb.c
@@ -21,11 +21,11 @@
 #include <urcu.h>
 
 #include "libknot/common.h"
-#include "libknot/zone/zone.h"
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zone.h"
+#include "knot/zone/zonedb.h"
 #include "libknot/dname.h"
 #include "libknot/packet/wire.h"
-#include "libknot/zone/node.h"
+#include "knot/zone/node.h"
 #include "libknot/util/debug.h"
 #include "common/mempattern.h"
 #include "common/mempool.h"
@@ -86,7 +86,7 @@ int knot_zonedb_del(knot_zonedb_t *db, const knot_dname_t *zone_name)
 	if (db == NULL || zone_name == NULL) {
 		return KNOT_EINVAL;
 	}
-	
+
 	/* Can't guess maximum label count now. */
 	db->maxlabels = KNOT_DNAME_MAXLABELS;
 	/* Attempt to remove zone. */
@@ -152,7 +152,7 @@ knot_zone_t *knot_zonedb_find_suffix(knot_zonedb_t *db, const knot_dname_t *dnam
 	if (db == NULL || dname == NULL) {
 		return NULL;
 	}
-	
+
 	/* We know we have at most N label zones, so let's compare only those
 	 * N last labels. */
 	int zone_labels = knot_dname_labels(dname, NULL);
@@ -183,7 +183,7 @@ knot_zone_t *knot_zonedb_find_suffix(knot_zonedb_t *db, const knot_dname_t *dnam
 knot_zone_contents_t *knot_zonedb_expire_zone(knot_zonedb_t *db,
                                               const knot_dname_t *zone_name)
 {
-	
+
 	if (db == NULL || zone_name == NULL) {
 		return NULL;
 	}
diff --git a/src/libknot/zone/zonedb.h b/src/knot/zone/zonedb.h
similarity index 98%
rename from src/libknot/zone/zonedb.h
rename to src/knot/zone/zonedb.h
index 9d3e94e373552809186d654188b0d77470a77e13..4a95531836802ffdd7519685919eb6a2da8f61a6 100644
--- a/src/libknot/zone/zonedb.h
+++ b/src/knot/zone/zonedb.h
@@ -30,8 +30,8 @@
 #ifndef _KNOT_ZONEDB_H_
 #define _KNOT_ZONEDB_H_
 
-#include "libknot/zone/zone.h"
-#include "libknot/zone/node.h"
+#include "knot/zone/zone.h"
+#include "knot/zone/node.h"
 #include "libknot/dname.h"
 #include "common/hhash.h"
 
diff --git a/src/libknot/dnssec/nsec-bitmap.h b/src/libknot/dnssec/nsec-bitmap.h
index 26bbb0ed4254ab7d50d0b52db84024aa2236fc64..d69689b5c7413de368f7a9c2f624d252fb8e98c6 100644
--- a/src/libknot/dnssec/nsec-bitmap.h
+++ b/src/libknot/dnssec/nsec-bitmap.h
@@ -30,7 +30,7 @@
 #include <stdint.h>
 #include <string.h>
 #include <limits.h>
-#include "libknot/zone/node.h"
+#include "knot/zone/node.h"
 #include "libknot/rrset.h"
 #include "common/descriptor.h"
 
diff --git a/src/libknot/dnssec/nsec-chain.h b/src/libknot/dnssec/nsec-chain.h
index 5c19b0fe7dd61e8dc7c281e08d74a1ed35ed8270..24806c2a297c85961d236f74f52b714ae128c6d4 100644
--- a/src/libknot/dnssec/nsec-chain.h
+++ b/src/libknot/dnssec/nsec-chain.h
@@ -31,7 +31,7 @@
 #include <stdbool.h>
 #include <stdint.h>
 
-#include "libknot/zone/zone-contents.h"
+#include "knot/zone/zone-contents.h"
 #include "libknot/updates/changesets.h"
 
 /*!
diff --git a/src/libknot/dnssec/nsec3-chain.c b/src/libknot/dnssec/nsec3-chain.c
index 4a3752205736c859de7381943754f4167e969957..8daac1191ff892e138e1b188f9bbf4cd7777678c 100644
--- a/src/libknot/dnssec/nsec3-chain.c
+++ b/src/libknot/dnssec/nsec3-chain.c
@@ -21,8 +21,8 @@
 #include "libknot/dname.h"
 #include "libknot/rdata.h"
 #include "libknot/packet/wire.h"
-#include "libknot/zone/zone-contents.h"
-#include "libknot/zone/zone-diff.h"
+#include "knot/zone/zone-contents.h"
+#include "knot/zone/zone-diff.h"
 #include "libknot/dnssec/nsec-chain.h"
 #include "libknot/dnssec/zone-sign.h"
 #include "libknot/dnssec/zone-nsec.h"
diff --git a/src/libknot/dnssec/zone-events.c b/src/libknot/dnssec/zone-events.c
index 7c39fa39c21867abb5cc806adee38f3872055b91..c9fe1045c88d00edfe3b6e469d675dbfd1c108fe 100644
--- a/src/libknot/dnssec/zone-events.c
+++ b/src/libknot/dnssec/zone-events.c
@@ -25,7 +25,7 @@
 #include "libknot/dnssec/zone-nsec.h"
 #include "libknot/dnssec/zone-sign.h"
 #include "libknot/util/debug.h"
-#include "libknot/zone/zone.h"
+#include "knot/zone/zone.h"
 
 static int init_dnssec_structs(const knot_zone_t *zone,
                                knot_zone_keys_t *zone_keys,
diff --git a/src/libknot/dnssec/zone-events.h b/src/libknot/dnssec/zone-events.h
index 88e06a7b0976091bbdd965d98ff5ea6e6a9d9d34..16cb8f784c7f663f89fb076ff7e775e4865c7745 100644
--- a/src/libknot/dnssec/zone-events.h
+++ b/src/libknot/dnssec/zone-events.h
@@ -28,7 +28,7 @@
 #ifndef _KNOT_DNSSEC_ZONE_EVENTS_H_
 #define _KNOT_DNSSEC_ZONE_EVENTS_H_
 
-#include "libknot/zone/zone.h"
+#include "knot/zone/zone.h"
 #include "libknot/updates/changesets.h"
 #include "libknot/dnssec/policy.h"
 /*!
diff --git a/src/libknot/dnssec/zone-nsec.c b/src/libknot/dnssec/zone-nsec.c
index 8ac5715b758a62a107163db7f9162fb62ef154b8..3fd7507145e7a642608555c866fd87a5db46eb2d 100644
--- a/src/libknot/dnssec/zone-nsec.c
+++ b/src/libknot/dnssec/zone-nsec.c
@@ -34,8 +34,8 @@
 #include "libknot/util/debug.h"
 #include "libknot/util/utils.h"
 #include "libknot/packet/wire.h"
-#include "libknot/zone/zone-contents.h"
-#include "libknot/zone/zone-diff.h"
+#include "knot/zone/zone-contents.h"
+#include "knot/zone/zone-diff.h"
 
 /*!
  * \brief Deletes NSEC3 chain if NSEC should be used.
diff --git a/src/libknot/dnssec/zone-nsec.h b/src/libknot/dnssec/zone-nsec.h
index 1518b66bc6fa426bc1c402b5ce435cd443011cc3..53e903b9d8b6b6f438b7b7fa5b5b9dbfa93760d4 100644
--- a/src/libknot/dnssec/zone-nsec.h
+++ b/src/libknot/dnssec/zone-nsec.h
@@ -31,7 +31,7 @@
 
 #include <stdbool.h>
 #include "libknot/updates/changesets.h"
-#include "libknot/zone/zone-contents.h"
+#include "knot/zone/zone-contents.h"
 #include "libknot/dnssec/policy.h"
 #include "libknot/dnssec/zone-keys.h"
 #include "libknot/dnssec/nsec-bitmap.h"
diff --git a/src/libknot/dnssec/zone-sign.c b/src/libknot/dnssec/zone-sign.c
index 9b7f4cbb432dc3390a3e53061ecfa0e092cdffb5..6c4d7236fd063a8ac1e6b56ad7aa92ace5307221 100644
--- a/src/libknot/dnssec/zone-sign.c
+++ b/src/libknot/dnssec/zone-sign.c
@@ -35,8 +35,8 @@
 #include "libknot/rrset.h"
 #include "libknot/updates/changesets.h"
 #include "libknot/util/debug.h"
-#include "libknot/zone/node.h"
-#include "libknot/zone/zone-contents.h"
+#include "knot/zone/node.h"
+#include "knot/zone/zone-contents.h"
 
 /*- private API - common functions -------------------------------------------*/
 
diff --git a/src/libknot/dnssec/zone-sign.h b/src/libknot/dnssec/zone-sign.h
index 53b4183285e3c8cf9478a5dddcf71cde73065bca..b3fe03f805b7d2a35ee7f9206cb29290e0930174 100644
--- a/src/libknot/dnssec/zone-sign.h
+++ b/src/libknot/dnssec/zone-sign.h
@@ -30,8 +30,8 @@
 #define _KNOT_DNSSEC_ZONE_SIGN_H_
 
 #include "libknot/updates/changesets.h"
-#include "libknot/zone/zone.h"
-#include "libknot/zone/zone-contents.h"
+#include "knot/zone/zone.h"
+#include "knot/zone/zone-contents.h"
 #include "libknot/dnssec/zone-keys.h"
 #include "libknot/dnssec/policy.h"
 
diff --git a/src/libknot/libknot.h b/src/libknot/libknot.h
index 56d79c0b324a8b6d74f05bea69b252d748802d88..cdb6215346660d4fd1fd402aa05a4d2d40dc88aa 100644
--- a/src/libknot/libknot.h
+++ b/src/libknot/libknot.h
@@ -39,10 +39,6 @@
 #include "libknot/tsig-op.h"
 #include "libknot/util/tolower.h"
 #include "libknot/util/utils.h"
-
-#include "libknot/zone/node.h"
-#include "libknot/zone/zone.h"
-#include "libknot/zone/zonedb.h"
 #include "libknot/rdata.h"
 
 #endif
diff --git a/src/libknot/nameserver/axfr.h b/src/libknot/nameserver/axfr.h
index eb6d133f9a50d74501795d5a4d18825c098f4697..3aa7b954a12162d34dd802915ca841c797a18dac 100644
--- a/src/libknot/nameserver/axfr.h
+++ b/src/libknot/nameserver/axfr.h
@@ -28,7 +28,7 @@
 #define _KNOT_AXFR_H_
 
 #include "libknot/packet/pkt.h"
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zonedb.h"
 #include "libknot/nameserver/name-server.h"
 
 struct query_data;
diff --git a/src/libknot/nameserver/internet.h b/src/libknot/nameserver/internet.h
index f5ba3924b44cd7d13c10ce17af84d310da203157..0d978e17019e9817b3c0011939bf32909adcf2b8 100644
--- a/src/libknot/nameserver/internet.h
+++ b/src/libknot/nameserver/internet.h
@@ -28,7 +28,7 @@
 #define _KNOT_INTERNET_H_
 
 #include "libknot/packet/pkt.h"
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zonedb.h"
 #include "libknot/nameserver/name-server.h"
 
 /* Query data (from query processing). */
diff --git a/src/libknot/nameserver/ixfr.h b/src/libknot/nameserver/ixfr.h
index 7b27ff86b18a598763497aac85d868c860b5a2e3..276eedc0a4d43b45032d60806829df4537283404 100644
--- a/src/libknot/nameserver/ixfr.h
+++ b/src/libknot/nameserver/ixfr.h
@@ -28,7 +28,7 @@
 #define _KNOT_IXFR_H_
 
 #include "libknot/packet/pkt.h"
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zonedb.h"
 #include "libknot/nameserver/name-server.h"
 
 struct query_data;
diff --git a/src/libknot/nameserver/name-server.h b/src/libknot/nameserver/name-server.h
index 91b498b3b928982bcae2ca95709427f098a34338..47c5256b462b91ca59a81a9ea81ad2be48731fa5 100644
--- a/src/libknot/nameserver/name-server.h
+++ b/src/libknot/nameserver/name-server.h
@@ -39,7 +39,7 @@
 #include <string.h>
 #include <sys/time.h>
 
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zonedb.h"
 #include "libknot/edns.h"
 #include "libknot/consts.h"
 #include "libknot/tsig.h"
diff --git a/src/libknot/nameserver/update.h b/src/libknot/nameserver/update.h
index 01788261f901e8198fd93236cd273cb80d43b5b5..53952772040713052dc1f9728cf3e97a8dc37725 100644
--- a/src/libknot/nameserver/update.h
+++ b/src/libknot/nameserver/update.h
@@ -28,7 +28,7 @@
 #define _KNOT_UPDATE_H_
 
 #include "libknot/packet/pkt.h"
-#include "libknot/zone/zonedb.h"
+#include "knot/zone/zonedb.h"
 #include "libknot/nameserver/name-server.h"
 
 struct query_data;
diff --git a/src/libknot/packet/pkt.h b/src/libknot/packet/pkt.h
index a6f8ec6d0dacafc4481152c016051ecceff326cc..2ab92bf7f06a325f22f765f24e88afd5d4e69448 100644
--- a/src/libknot/packet/pkt.h
+++ b/src/libknot/packet/pkt.h
@@ -33,11 +33,10 @@
 #include "libknot/dname.h"
 #include "libknot/rrset.h"
 #include "libknot/edns.h"
-#include "libknot/zone/node.h"
-#include "libknot/zone/zone.h"
 #include "libknot/packet/wire.h"
 #include "libknot/tsig.h"
 #include "libknot/packet/compr.h"
+#include "common/mempattern.h"
 
 /* Number of packet sections (ANSWER, AUTHORITY, ADDITIONAL). */
 #define KNOT_PKT_SECTIONS 3
diff --git a/src/libknot/updates/changesets.h b/src/libknot/updates/changesets.h
index 73ad8f7077980fc21c9bc2bd3259ed64c4ac0f53..f1a893ac74c9bf60aa0517285f48cb01cf478963 100644
--- a/src/libknot/updates/changesets.h
+++ b/src/libknot/updates/changesets.h
@@ -28,7 +28,7 @@
 #define _KNOT_CHANGESETS_H_
 
 #include "libknot/rrset.h"
-#include "libknot/zone/node.h"
+#include "knot/zone/node.h"
 #include "common/lists.h"
 #include "common/mempattern.h"
 
diff --git a/src/libknot/updates/ddns.h b/src/libknot/updates/ddns.h
index d6ac626a3f973b047425f8340d8645410ebf3c38..35d8a9897a0932cab3a91a9604e36d7275c72aa4 100644
--- a/src/libknot/updates/ddns.h
+++ b/src/libknot/updates/ddns.h
@@ -28,7 +28,7 @@
 #define _KNOT_DDNS_H_
 
 #include "libknot/updates/changesets.h"
-#include "libknot/zone/zone.h"
+#include "knot/zone/zone.h"
 #include "libknot/packet/pkt.h"
 #include "libknot/rrset.h"
 #include "libknot/dname.h"
diff --git a/src/libknot/updates/xfr-in.c b/src/libknot/updates/xfr-in.c
index ffb8ca19b31920e1316b623f050cc2f0f068a445..2a03ce8275b34e32dcb0b82b87158855819b03b3 100644
--- a/src/libknot/updates/xfr-in.c
+++ b/src/libknot/updates/xfr-in.c
@@ -27,7 +27,7 @@
 #include "libknot/util/debug.h"
 #include "libknot/packet/pkt.h"
 #include "libknot/dname.h"
-#include "libknot/zone/zone.h"
+#include "knot/zone/zone.h"
 #include "libknot/dnssec/zone-nsec.h"
 #include "libknot/dnssec/zone-sign.h"
 #include "libknot/dnssec/random.h"
diff --git a/src/libknot/updates/xfr-in.h b/src/libknot/updates/xfr-in.h
index f42ef1cdde224000bc264466978bc211346dc26b..6ce271537d65393da2216a3445f0c9aa9585792b 100644
--- a/src/libknot/updates/xfr-in.h
+++ b/src/libknot/updates/xfr-in.h
@@ -31,7 +31,7 @@
 #include <string.h>
 
 #include "libknot/dname.h"
-#include "libknot/zone/zone.h"
+#include "knot/zone/zone.h"
 #include "libknot/packet/pkt.h"
 #include "libknot/nameserver/name-server.h"
 #include "libknot/updates/changesets.h"
diff --git a/src/libknot/util/debug.h b/src/libknot/util/debug.h
index 239862ea79ebf3a8aee74b52115b3fc293bf283a..89f8e68c41c4dc3168af1fdfe6d4b71241398a85 100644
--- a/src/libknot/util/debug.h
+++ b/src/libknot/util/debug.h
@@ -64,8 +64,8 @@
 #endif
 
 #include "libknot/rrset.h"
-#include "libknot/zone/node.h"
-#include "libknot/zone/zone.h"
+#include "knot/zone/node.h"
+#include "knot/zone/zone.h"
 #include "libknot/util/utils.h"
 #include "common/print.h"
 
diff --git a/src/utils/nsupdate/nsupdate_exec.c b/src/utils/nsupdate/nsupdate_exec.c
index 6213a2a875758d112f8e0a97eee256e4c758add0..d22fb8dc9d5dcaf65007518b8e6815f047ab7685 100644
--- a/src/utils/nsupdate/nsupdate_exec.c
+++ b/src/utils/nsupdate/nsupdate_exec.c
@@ -32,6 +32,7 @@
 #include "common/errcode.h"
 #include "common/mempattern.h"
 #include "common/descriptor.h"
+#include "libknot/common.h"
 #include "libknot/libknot.h"
 
 /* Declarations of cmd parse functions. */