diff --git a/src/include/66/resolve.h b/src/include/66/resolve.h
index dacea9be666df5fe3b68d5cdbff0cd43c937ab57..4850bd3cb8fda5530a4a0d5a379eced4716f4fb6 100644
--- a/src/include/66/resolve.h
+++ b/src/include/66/resolve.h
@@ -27,8 +27,6 @@
 
 #include <66/ssexec.h>
 #include <66/parser.h>
-#include <66/tree.h>
-#include <66/service.h>
 
 
 #define SS_RESOLVE "/.resolve"
@@ -41,6 +39,10 @@
 #define SS_SIMPLE 0
 #define SS_DOUBLE 1
 
+#define DATA_SERVICE 0
+#define DATA_TREE 1
+#define DATA_TREE_MASTER 2
+
 typedef struct resolve_wrapper_s resolve_wrapper_t, *resolve_wrapper_t_ref ;
 struct resolve_wrapper_s
 {
@@ -55,6 +57,13 @@ struct resolve_wrapper_s
     else if (wres->type == DATA_TREE) sawres = (&((resolve_tree_t *)wres->obj)->sa) ; \
     else if (wres->type == DATA_TREE_MASTER) sawres = (&((resolve_tree_master_t *)wres->obj)->sa) ;
 #endif
+
+typedef struct resolve_field_table_s resolve_field_table_t, *resolve_field_table_t_ref ;
+struct resolve_field_table_s
+{
+    char *field ;
+} ;
+
 /**
  *
  * General API
diff --git a/src/include/66/service.h b/src/include/66/service.h
index d4578bac2ef54d18b982f9c0b5f1958bc8e76bdd..bf495bf3f3a75e5468b226d405ee15d9aa47227c 100644
--- a/src/include/66/service.h
+++ b/src/include/66/service.h
@@ -24,6 +24,7 @@
 
 #include <66/parser.h>
 #include <66/ssexec.h>
+#include <66/resolve.h>
 
 
 /** Graph struct */
@@ -52,9 +53,6 @@ enum visit_e
     SS_BLACK
 } ;
 
-
-#define DATA_SERVICE 0
-
 typedef struct resolve_service_s resolve_service_t, *resolve_service_t_ref ;
 struct resolve_service_s
 {
@@ -137,13 +135,7 @@ enum resolve_service_enum_e
     SERVICE_ENUM_ENDOFKEY
 } ;
 
-typedef struct resolve_service_field_table_s resolve_service_field_table_t, *resolve_service_field_table_t_ref ;
-struct resolve_service_field_table_s
-{
-    char *field ;
-} ;
-
-extern resolve_service_field_table_t resolve_service_field_table[] ;
+extern resolve_field_table_t resolve_service_field_table[] ;
 
 extern int service_isenabled(char const *sv) ;
 extern int service_isenabledat(stralloc *tree, char const *sv) ;
diff --git a/src/include/66/tree.h b/src/include/66/tree.h
index 8a47af25027504844d94a6d86bcb47a03f8b5843..dec81d882c353b1b939ad981128c5aa59b391262 100644
--- a/src/include/66/tree.h
+++ b/src/include/66/tree.h
@@ -16,6 +16,7 @@
 #define SS_TREE_H
 
 #include <sys/types.h>
+#include <stdint.h>
 
 #include <skalibs/stralloc.h>
 #include <skalibs/cdb.h>
@@ -24,9 +25,6 @@
 #include <66/ssexec.h>
 #include <66/resolve.h>
 
-
-#define DATA_TREE 1
-#define DATA_TREE_MASTER 2
 #define TREE_GROUPS_BOOT "boot"
 #define TREE_GROUPS_BOOT_LEN (sizeof TREE_GROUPS_BOOT - 1)
 #define TREE_GROUPS_ADM "admin"
@@ -77,14 +75,6 @@ enum resolve_tree_enum_e
     TREE_ENUM_ENDOFKEY
 } ;
 
-typedef struct resolve_tree_field_table_s resolve_tree_field_table_t, *resolve_tree_field_table_t_ref ;
-struct resolve_tree_field_table_s
-{
-    char *field ;
-} ;
-
-extern resolve_tree_field_table_t resolve_tree_field_table[] ;
-
 typedef struct resolve_tree_master_s resolve_tree_master_t, *resolve_tree_master_t_ref ;
 struct resolve_tree_master_s
 {
@@ -112,7 +102,8 @@ enum resolve_tree_master_enum_e
     TREE_ENUM_MASTER_ENDOFKEY
 } ;
 
-extern resolve_tree_field_table_t resolve_tree_master_field_table[] ;
+extern resolve_field_table_t resolve_tree_field_table[] ;
+extern resolve_field_table_t resolve_tree_master_field_table[] ;
 
 typedef struct tree_seed_s tree_seed_t, tree_seed_t_ref ;
 struct tree_seed_s
diff --git a/src/lib66/service.c b/src/lib66/service.c
index 9b32c4d7bdd0a73aa09a86f7e373f2688345a46f..ed66629feed16bdc0b7fb3342e08cbdff4e54472 100644
--- a/src/lib66/service.c
+++ b/src/lib66/service.c
@@ -433,7 +433,7 @@ int service_cmp_basedir(char const *dir)
  *
  * */
 
-resolve_service_field_table_t resolve_service_field_table[] = {
+resolve_field_table_t resolve_service_field_table[] = {
 
     [SERVICE_ENUM_NAME] = { .field = "name" },
     [SERVICE_ENUM_DESCRIPTION] = { .field = "description" },
diff --git a/src/lib66/tree_resolve.c b/src/lib66/tree_resolve.c
index 4c8f29fb5453470b6e4449056d588dbdb007a947..2fa47e8edba2829b7c4d1b07b675448478303c58 100644
--- a/src/lib66/tree_resolve.c
+++ b/src/lib66/tree_resolve.c
@@ -31,7 +31,7 @@
 #include <66/graph.h>
 
 
-resolve_tree_field_table_t resolve_tree_field_table[] = {
+resolve_field_table_t resolve_tree_field_table[] = {
 
     [TREE_ENUM_NAME] = { .field = "name" },
     [TREE_ENUM_DEPENDS] = { .field = "depends" },
@@ -49,7 +49,7 @@ resolve_tree_field_table_t resolve_tree_field_table[] = {
     [TREE_ENUM_ENDOFKEY] = { .field = 0 }
 } ;
 
-resolve_tree_field_table_t resolve_tree_master_field_table[] = {
+resolve_field_table_t resolve_tree_master_field_table[] = {
 
     [TREE_ENUM_MASTER_NAME] = { .field = "name" },
     [TREE_ENUM_MASTER_ALLOW] = { .field = "allow" },