diff --git a/src/include/66/tree.h b/src/include/66/tree.h
index 35d82847da023969004b63e251c21a19e2c58513..e79cacd3ab9c1c9d45dfa21a58a3c01b8c11612c 100644
--- a/src/include/66/tree.h
+++ b/src/include/66/tree.h
@@ -32,6 +32,9 @@
 #define TREE_GROUPS_USER "user"
 #define TREE_GROUPS_USER_LEN (sizeof TREE_GROUPS_USER - 1)
 
+#define DATA_TREE 1
+#define DATA_TREE_MASTER 2
+
 typedef struct resolve_tree_s resolve_tree_t, *resolve_tree_t_ref ;
 struct resolve_tree_s
 {
@@ -85,11 +88,13 @@ struct resolve_tree_master_s
    uint32_t allow ;
    uint32_t enabled ;
    uint32_t current ;
+   uint32_t contents ;
 
    uint32_t nenabled ;
+   uint32_t ncontents ;
 
 } ;
-#define RESOLVE_TREE_MASTER_ZERO { 0,STRALLOC_ZERO,0,0,0,0,0 }
+#define RESOLVE_TREE_MASTER_ZERO { 0,STRALLOC_ZERO,0,0,0,0,0,0,0 }
 
 typedef enum resolve_tree_master_enum_e resolve_tree_master_enum_t, *resolve_tree_master_enum_t_ref;
 enum resolve_tree_master_enum_e
@@ -98,7 +103,9 @@ enum resolve_tree_master_enum_e
     TREE_ENUM_MASTER_ALLOW,
     TREE_ENUM_MASTER_ENABLED,
     TREE_ENUM_MASTER_CURRENT,
+    TREE_ENUM_MASTER_CONTENTS,
     TREE_ENUM_MASTER_NENABLED,
+    TREE_ENUM_MASTER_NCONTENTS,
     TREE_ENUM_MASTER_ENDOFKEY
 } ;
 
@@ -183,15 +190,15 @@ extern int tree_resolve_read_cdb(cdb *c, resolve_tree_t *tres) ;
 extern int tree_resolve_write_cdb(cdbmaker *c, resolve_tree_t *tres) ;
 extern int tree_resolve_copy(resolve_tree_t *dst, resolve_tree_t *tres) ;
 extern int tree_resolve_modify_field(resolve_tree_t *tres, uint8_t field, char const *data) ;
-extern int tree_resolve_field_tosa(stralloc *sa, resolve_tree_t *tres, resolve_tree_enum_t field) ;
+extern int tree_resolve_get_field_tosa(stralloc *sa, resolve_tree_t *tres, resolve_tree_enum_t field) ;
 
 /** Master */
-extern int tree_resolve_read_master_cdb(cdb *c, resolve_tree_master_t *mres) ;
-extern int tree_resolve_write_master_cdb(cdbmaker *c, resolve_tree_master_t *mres) ;
+extern int tree_resolve_master_read_cdb(cdb *c, resolve_tree_master_t *mres) ;
+extern int tree_resolve_master_write_cdb(cdbmaker *c, resolve_tree_master_t *mres) ;
 extern int tree_resolve_master_create(char const *base, uid_t owner) ;
 extern int tree_resolve_master_copy(resolve_tree_master_t *dst, resolve_tree_master_t *mres) ;
 extern int tree_resolve_master_modify_field(resolve_tree_master_t *mres, uint8_t field, char const *data) ;
-extern int tree_resolve_master_field_tosa(stralloc *sa, resolve_tree_master_t *mres, resolve_tree_master_enum_t field) ;
+extern int tree_resolve_master_get_field_tosa(stralloc *sa, resolve_tree_master_t *mres, resolve_tree_master_enum_t field) ;
 
 /**
  *
diff --git a/src/lib66/tree/deps-lib/deps b/src/lib66/tree/deps-lib/deps
index ede8d6e82e2443334ed99210772a4c021f1b49e0..afeba759fe716b7aa9ea413ca440079f3818f010 100644
--- a/src/lib66/tree/deps-lib/deps
+++ b/src/lib66/tree/deps-lib/deps
@@ -9,16 +9,16 @@ tree_isinitialized.o
 tree_isvalid.o
 tree_ongroups.o
 tree_resolve_copy.o
-tree_resolve_field_tosa.o
+tree_resolve_get_field_tosa.o
 tree_resolve_master_copy.o
 tree_resolve_master_create.o
-tree_resolve_master_field_tosa.o
+tree_resolve_master_get_field_tosa.o
 tree_resolve_master_modify_field.o
+tree_resolve_master_read_cdb.o
+tree_resolve_master_write_cdb.o
 tree_resolve_modify_field.o
 tree_resolve_read_cdb.o
-tree_resolve_read_master_cdb.o
 tree_resolve_write_cdb.o
-tree_resolve_write_master_cdb.o
 tree_seed_file_isvalid.o
 tree_seed_free.o
 tree_seed_get_group_permissions.o
diff --git a/src/lib66/tree/tree_resolve_master_copy.c b/src/lib66/tree/tree_resolve_master_copy.c
index 66ecfa69afb4dc7e065707b81fe7db59e33a0a26..f9b9212b5dea713d9d5e4e4c5fb93561239fd0ce 100644
--- a/src/lib66/tree/tree_resolve_master_copy.c
+++ b/src/lib66/tree/tree_resolve_master_copy.c
@@ -37,7 +37,9 @@ int tree_resolve_master_copy(resolve_tree_master_t *dst, resolve_tree_master_t *
     dst->allow = mres->allow ;
     dst->enabled = mres->enabled ;
     dst->current = mres->current ;
+    dst->current = mres->contents ;
     dst->nenabled = mres->nenabled ;
+    dst->nenabled = mres->ncontents ;
 
     return 1 ;
 
diff --git a/src/lib66/tree/tree_resolve_master_create.c b/src/lib66/tree/tree_resolve_master_create.c
index 3ccb918a4891a5403363de71f200ee75c9ad3fd9..76c88fd4b1c093f30f924c65f37a59f23d118f3e 100644
--- a/src/lib66/tree/tree_resolve_master_create.c
+++ b/src/lib66/tree/tree_resolve_master_create.c
@@ -50,7 +50,7 @@ int tree_resolve_master_create(char const *base, uid_t owner)
     mres.name = resolve_add_string(wres, SS_MASTER + 1) ;
     mres.allow = resolve_add_string(wres, pw->pw_name) ;
 
-    log_trace("write inner resolve file of trees") ;
+    log_trace("write Master resolve file of trees") ;
     if (!resolve_write(wres, dst, SS_MASTER + 1))
         goto err ;
 
diff --git a/src/lib66/tree/tree_resolve_master_modify_field.c b/src/lib66/tree/tree_resolve_master_modify_field.c
index a99bcb24d0cbb4a4c1e898a003b9d29b471ff9fc..b2d7634098bba7bce052206b06faee73f4e2a755 100644
--- a/src/lib66/tree/tree_resolve_master_modify_field.c
+++ b/src/lib66/tree/tree_resolve_master_modify_field.c
@@ -28,7 +28,9 @@ resolve_field_table_t resolve_tree_master_field_table[] = {
     [TREE_ENUM_MASTER_ALLOW] = { .field = "allow" },
     [TREE_ENUM_MASTER_ENABLED] = { .field = "enabled" },
     [TREE_ENUM_MASTER_CURRENT] = { .field = "current" },
+    [TREE_ENUM_MASTER_CONTENTS] = { .field = "contents" },
     [TREE_ENUM_MASTER_NENABLED] = { .field = "nenabled" },
+    [TREE_ENUM_MASTER_NCONTENTS] = { .field = "ncontents" },
     [TREE_ENUM_MASTER_ENDOFKEY] = { .field = 0 }
 } ;
 
@@ -59,11 +61,20 @@ int tree_resolve_master_modify_field(resolve_tree_master_t *mres, uint8_t field,
             mres->current = resolve_add_string(wres,data) ;
             break ;
 
+        case TREE_ENUM_MASTER_CONTENTS:
+            mres->contents = resolve_add_string(wres,data) ;
+            break ;
+
         case TREE_ENUM_MASTER_NENABLED:
             if (!uint0_scan(data, &ifield)) goto err ;
             mres->nenabled = ifield ;
             break ;
 
+        case TREE_ENUM_MASTER_NCONTENTS:
+            if (!uint0_scan(data, &ifield)) goto err ;
+            mres->ncontents = ifield ;
+            break ;
+
         default:
             break ;
     }