diff --git a/dap_chain_global_db.c b/dap_chain_global_db.c
index 509709365f63982932485e68c20dd2eb9721f1bc..76d669f625b7eb06155a0e938702070db13a9fd9 100755
--- a/dap_chain_global_db.c
+++ b/dap_chain_global_db.c
@@ -490,8 +490,8 @@ bool dap_chain_global_db_gr_save(dap_global_db_obj_t* a_objs, size_t a_objs_coun
                     }
                     if ( l_history_group_item->callback_notify ){
                             if (l_obj){
-                                l_history_group_item->callback_notify('a',l_group_prefix, l_obj->group , l_obj->key,
-                                              l_history_group_item->callback_arg, l_obj->value, l_obj->value_len );
+                                l_history_group_item->callback_notify(l_history_group_item->callback_arg,'a',l_group_prefix, l_obj->group , l_obj->key,
+                                               l_obj->value, l_obj->value_len );
                             }else {
                                 break;
                             }
@@ -570,7 +570,7 @@ char* dap_db_log_get_diff(size_t *a_data_size_out)
 {
     //DapList *l_group_list = dap_list_append(l_group_list,GROUP_HISTORY);
     size_t l_data_size_out = 0;
-    dap_global_db_obj_t **l_objs = dap_chain_global_db_gr_load(GROUP_GLOBAL_HISTORY, &l_data_size_out);
+    dap_global_db_obj_t **l_objs = dap_chain_global_db_gr_load(GROUP_LOCAL_HISTORY, &l_data_size_out);
     // make keys & val vector
     char **l_keys_vals0 = DAP_NEW_SIZE(char*, sizeof(char*) * (l_data_size_out * 2 + 2));
     char **l_keys_vals = l_keys_vals0 + 1;
diff --git a/dap_chain_global_db.h b/dap_chain_global_db.h
index 3754d7abf91b2d9411879056ce32acee6ceb35a5..e0d01fec390c634390f227b6ac4103e3f9e91670 100755
--- a/dap_chain_global_db.h
+++ b/dap_chain_global_db.h
@@ -8,10 +8,7 @@
 #include "dap_config.h"
 #include "dap_list.h"
 
-#define GROUP_GLOBAL_ADDRS_LEASED "global.addrs_leased"
-#define GROUP_GLOBAL_ALIAS "global.aliases"
-#define GROUP_GLOBAL_DATUM "global.datums"
-#define GROUP_GLOBAL_HISTORY "global.history"
+#define GROUP_LOCAL_HISTORY "global.history"
 #define GROUP_LOCAL_NODE_LAST_TS "local.node.last_ts"
 #define GROUP_LOCAL_GENERAL "local.general"
 
diff --git a/dap_chain_global_db_hist.c b/dap_chain_global_db_hist.c
index a84bdf6fc0e53f732f4113b9e7d1da8ce398557f..d5e78b42407dac24390a64e1ce21f189f61f4f78 100755
--- a/dap_chain_global_db_hist.c
+++ b/dap_chain_global_db_hist.c
@@ -146,7 +146,7 @@ bool dap_db_history_add(char a_type, pdap_store_obj_t a_store_obj, size_t a_dap_
     l_store_data.key = dap_db_new_history_timestamp();
     l_store_data.value = (uint8_t*) strdup(l_str) ;
     l_store_data.value_len = l_str_len+1;
-    l_store_data.group = GROUP_GLOBAL_HISTORY;
+    l_store_data.group = GROUP_LOCAL_HISTORY;
     l_store_data.timestamp = time(NULL);
     int l_res = dap_db_add(&l_store_data, 1);
     printf("!!!\n!!!HISTORY store save l_res=%d ts=%lld text=%s\n!!!\n",l_res,l_store_data.timestamp,l_str);
@@ -174,7 +174,7 @@ time_t dap_db_log_get_last_timestamp(void)
 {
     char *last_key = NULL;
     size_t l_data_size_out = 0;
-    dap_global_db_obj_t **l_objs = dap_chain_global_db_gr_load(GROUP_GLOBAL_HISTORY, &l_data_size_out);
+    dap_global_db_obj_t **l_objs = dap_chain_global_db_gr_load(GROUP_LOCAL_HISTORY, &l_data_size_out);
     if(l_data_size_out > 0)
         last_key = l_objs[0]->key;
     for(size_t i = 1; i < l_data_size_out; i++) {
@@ -185,7 +185,7 @@ time_t dap_db_log_get_last_timestamp(void)
         }
         //printf("l_obj_cur->key=%s\n", l_obj_cur->key);
     }
-    time_t l_ret_time = (last_key) ? strtoll(last_key, NULL, 10) : 0;
+    time_t l_ret_time = last_key? strtoll(last_key, NULL, 10): 0;
     dap_chain_global_db_objs_delete(l_objs);
     return l_ret_time;
 }
@@ -207,7 +207,7 @@ dap_list_t* dap_db_log_get_list(time_t first_timestamp)
     size_t l_list_count = 0;
     char *l_first_key_str = dap_strdup_printf("%lld", (int64_t) first_timestamp);
     size_t l_data_size_out = 0;
-    dap_global_db_obj_t **l_objs = dap_chain_global_db_gr_load(GROUP_GLOBAL_HISTORY, &l_data_size_out);
+    dap_global_db_obj_t **l_objs = dap_chain_global_db_gr_load(GROUP_LOCAL_HISTORY, &l_data_size_out);
     for(size_t i = 0; i < l_data_size_out; i++) {
         dap_global_db_obj_t *l_obj_cur = l_objs[i];
 //        log_it(L_DEBUG,"%lld and %lld tr",strtoll(l_obj_cur->key,NULL,10), first_timestamp );
diff --git a/dap_chain_global_db_pvt.c b/dap_chain_global_db_pvt.c
index edd50a836240789701538a5b97b7ff2da23589fc..69099cbbeb4def30885f18ac80eaf25c8e2af595 100755
--- a/dap_chain_global_db_pvt.c
+++ b/dap_chain_global_db_pvt.c
@@ -113,14 +113,10 @@ int dap_db_init(const char *path)
             dap_db_add_msg(msg);
 
             // level 2: groups
-            dap_db_group_create( GROUP_GLOBAL_ADDRS_LEASED);
-            dap_db_group_create( GROUP_GLOBAL_ALIAS);
-            dap_db_group_create( GROUP_GLOBAL_DATUM);
-            dap_db_group_create( GROUP_GLOBAL_HISTORY);
-            dap_db_group_create( GROUP_GLOBAL_ADDRS_LEASED );
-
-            talloc_free(msg->dn);
-            talloc_free(msg);
+            dap_db_group_create( GROUP_LOCAL_HISTORY);
+            dap_db_group_create( GROUP_LOCAL_GENERAL );
+            dap_db_group_create( GROUP_LOCAL_NODE_LAST_TS);
+
         }
         talloc_free(data_message);
         DAP_DELETE(l_tdb_path);