diff --git a/.gitmodules b/.gitmodules
index 806f77cfba59fdfc89c36cdcc12f5456b2daf8df..3eb9a5ee1d149e33869204613860fc9ac59ffccd 100755
--- a/.gitmodules
+++ b/.gitmodules
@@ -34,11 +34,6 @@
 	path = libdap-stream-ch-chain
 	url = https://github.com/kelvinblockchain/libdap-stream-ch-chain
 	branch = master
-
-
-
-
-
 [submodule "libdap-chain-net"]
 	path = libdap-chain-net
 	url = https://github.com/kelvinblockchain/libdap-chain-net
@@ -59,10 +54,6 @@
 	path = libdap-chain-net-srv-tx
 	url = https://github.com/kelvinblockchain/libdap-chain-net-srv-tx
 	branch = master
-[submodule "libdap-chain-net-srv-mining-pool"]
-	path = libdap-chain-net-srv-mining-pool
-	url = https://github.com/kelvinblockchain/libdap-chain-net-srv-mining-pool
-	branch = master
 [submodule "libdap-chain-net-srv-vpn"]
 	path = libdap-chain-net-srv-vpn
 	url = https://github.com/kelvinblockchain/libdap-chain-net-srv-vpn
@@ -75,10 +66,6 @@
 	path = libdap-chain-crypto
 	url = https://github.com/kelvinblockchain/libdap-chain-crypto
 	branch = master
-[submodule "libdap-chain-mine"]
-	path = libdap-chain-mine
-	url = https://github.com/kelvinblockchain/libdap-chain-mine
-	branch = master
 [submodule "libdap-chain-net-srv-app"]
 	path = libdap-chain-net-srv-app
 	url = https://github.com/kelvinblockchain/libdap-chain-net-srv-app
@@ -87,10 +74,6 @@
 	path = libdap-chain-net-srv-app-db
 	url = https://github.com/kelvinblockchain/libdap-chain-net-srv-app-db
 	branch = master
-[submodule "libdap-chain-net-srv-mining"]
-	path = libdap-chain-net-srv-mining
-	url = https://github.com/kelvinblockchain/libdap-chain-net-srv-mining
-	branch = master
 [submodule "libdap-stream-ch"]
 	path = libdap-stream-ch
 	url = https://github.com/kelvinblockchain/libdap-stream-ch
@@ -122,27 +105,12 @@
 [submodule "libdap-chain-mempool"]
 	path = libdap-chain-mempool
 	url = https://github.com/kelvinblockchain/libdap-chain-mempool
-[submodule "libdap-chain-cs-block"]
-	path = libdap-chain-cs-block
-	url = https://github.com/kelvinblockchain/libdap-chain-cs-block
-[submodule "libdap-chain-cs-block-pow"]
-	path = libdap-chain-cs-block-pow
-	url = https://github.com/kelvinblockchain/libdap-chain-cs-block-pow
-[submodule "libdap-chain-cs-block-poa"]
-	path = libdap-chain-cs-block-poa
-	url = https://github.com/kelvinblockchain/libdap-chain-cs-block-poa
 [submodule "libdap-chain-cs-dag"]
 	path = libdap-chain-cs-dag
 	url = https://github.com/kelvinblockchain/libdap-chain-cs-dag
-[submodule "libdap-chain-cs-dag-hashgraph"]
-	path = libdap-chain-cs-dag-hashgraph
-	url = https://github.com/kelvinblockchain/libdap-chain-cs-dag-hashgraph
 [submodule "libdap-chain-cs-dag-poa"]
 	path = libdap-chain-cs-dag-poa
 	url = https://github.com/kelvinblockchain/libdap-chain-cs-dag-poa
-[submodule "libdap-chain-cs-dag-poh"]
-	path = libdap-chain-cs-dag-poh
-	url = https://github.com/kelvinblockchain/libdap-chain-cs-dag-poh
 [submodule "libdap-chain-cs-dag-pos"]
 	path = libdap-chain-cs-dag-pos
 	url = https://github.com/kelvinblockchain/libdap-chain-cs-dag-pos
diff --git a/dist/etc/kelvin-node.cfg b/dist/etc/kelvin-node.cfg
index 679780362b6675f2ef7dc6ffcd4d1613953fe73d..4d854a396a25c0ef9539a2b5aca1f937cc5d3caa 100755
--- a/dist/etc/kelvin-node.cfg
+++ b/dist/etc/kelvin-node.cfg
@@ -15,7 +15,6 @@ listen_port_tcp=8079
 # Mempool
 [mempool]
 accept=false
-gdb_group=datum-pool
 
 # VPN stream channel processing module
 [vpn]
diff --git a/dist/etc/network/kelvin-testnet.cfg b/dist/etc/network/kelvin-testnet.cfg
index f98ba17e989c26569a57a54f8396796597f1b27c..a455dcf256d84622ec225fc97f49b7a6a78c4a19 100755
--- a/dist/etc/network/kelvin-testnet.cfg
+++ b/dist/etc/network/kelvin-testnet.cfg
@@ -5,8 +5,12 @@ id=0x0000000000000001
 name=kelvin-testnet
 type=development
 # Possible values: light, full, archive, master, root
-node-role=full  
-# Default local node for this network
+node-role=root
 node-alias=localnode
-# Root nodes
-node-roots=[root-0.testnet.klvn.io,root-0.testnet.klvn.io,root-1.testnet.klvn.io,root-2.testnet.klvn.io,root-3.testnet.klvn.io,root-4.testnet.klvn.io,root-5.testnet.klvn.io,root-6.testnet.klvn.io,root-7.testnet.klvn.io]
+gdb_groups_prefix=kelvin.testnet.
+
+#[dag-poa]
+#node-ca-sign=pvt.localcert
+
+#[dag-pos]
+#node-ca-wallet=mywallet
diff --git a/dist/etc/network/kelvin-testnet/chain-0.cfg b/dist/etc/network/kelvin-testnet/chain-0.cfg
index 8106b3413bad76d5a9b1aac54b2d9521b2a7bfad..6756a302e3edf6d4e68d42ecf0fc4144fe8830bf 100755
--- a/dist/etc/network/kelvin-testnet/chain-0.cfg
+++ b/dist/etc/network/kelvin-testnet/chain-0.cfg
@@ -1,16 +1,19 @@
 [chain]
 id=0x0000000000000000
 shard_id=0x0000000000000000
-name=ZeroChain
+name=zerochain
 consensus=dag-poa
 
 [files]
-storage_dir=/opt/kelvin-node/var/lib/kelvin-testnet/
+storage_dir=/opt/kelvin-node/var/lib/network/kelvin-testnet/zerochain/
 
 [dag]
 is_single_line=true
+is_celled=false
+datum_add_hashes_count=1
 
 [dag-poa]
 auth_certs_prefix=kelvin.testnet.root
 auth_certs_number=8
 auth_certs_number_verify=5
+auth_certs_dir=/opt/kelvin-node/share/ca
diff --git a/dist/etc/network/kelvin-testnet/chain-plasma.cfg b/dist/etc/network/kelvin-testnet/chain-plasma.cfg
index 4ba01a43070369c2b943e99bd0ae32f22e4671de..4721e6bae96c62fd69919590457a48738e6c357b 100755
--- a/dist/etc/network/kelvin-testnet/chain-plasma.cfg
+++ b/dist/etc/network/kelvin-testnet/chain-plasma.cfg
@@ -1,19 +1,22 @@
 [chain]
 id=0x0000000000000001
-name=Plasma
+name=plasma
 consensus=dag-pos
 
 [dag]
 is_single_line=false
+is_celled=true
+datum_add_hashes_count=3
 
 # Proof-of-State consensus config
 [dag-pos]
 # Tokens hold and hold_value must be equel size
-# KLVNT - test token, SHT1 - shit token 1
-tokens_hold=[KLVNT,SHT1]
+# KELT - test token, KEL - main tokem
+tokens_hold=[KELT,KEL]
 # 1000 coins for both
 tokens_hold_value=[1000000000000000,1000000000000000]
 
+
 [files]
-storage=/opt/kelvin-node/var/lib/kelvin-testnet/chain-plasma.dap_chain
+storage_dir=/opt/kelvin-node/var/lib/network/kelvin-testnet/plasma
 
diff --git a/dist/etc/node/root_dev_0.cfg b/dist/etc/node/root_dev_0.cfg
deleted file mode 100755
index ea93728361677d2a97171dca9dc70154fb159f3d..0000000000000000000000000000000000000000
--- a/dist/etc/node/root_dev_0.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-[node]
-primary_cert=root_dev_0
diff --git a/libdap-chain b/libdap-chain
index 73c853c47c3524ff55519ed27c5f9f782c031494..e57d9d47d4e79ab12e91959aba5d7c431f7f8925 160000
--- a/libdap-chain
+++ b/libdap-chain
@@ -1 +1 @@
-Subproject commit 73c853c47c3524ff55519ed27c5f9f782c031494
+Subproject commit e57d9d47d4e79ab12e91959aba5d7c431f7f8925
diff --git a/libdap-chain-crypto b/libdap-chain-crypto
index 114abf9aaf78a56d424b604c17bac57454ebc8c1..0f25b0859fba05080388b24c0661dda3d845e18d 160000
--- a/libdap-chain-crypto
+++ b/libdap-chain-crypto
@@ -1 +1 @@
-Subproject commit 114abf9aaf78a56d424b604c17bac57454ebc8c1
+Subproject commit 0f25b0859fba05080388b24c0661dda3d845e18d
diff --git a/libdap-chain-cs-block b/libdap-chain-cs-block
deleted file mode 160000
index dea947a8aa69945f61f87d43df0ad2b096357e1f..0000000000000000000000000000000000000000
--- a/libdap-chain-cs-block
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit dea947a8aa69945f61f87d43df0ad2b096357e1f
diff --git a/libdap-chain-cs-block-poa b/libdap-chain-cs-block-poa
deleted file mode 160000
index 25de9a1e9e8d2fbda45690dc38983534dee780b3..0000000000000000000000000000000000000000
--- a/libdap-chain-cs-block-poa
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 25de9a1e9e8d2fbda45690dc38983534dee780b3
diff --git a/libdap-chain-cs-block-pow b/libdap-chain-cs-block-pow
deleted file mode 160000
index 02a9f374344ffc8fa1f47082c26db9efaa591e7e..0000000000000000000000000000000000000000
--- a/libdap-chain-cs-block-pow
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 02a9f374344ffc8fa1f47082c26db9efaa591e7e
diff --git a/libdap-chain-cs-dag b/libdap-chain-cs-dag
index 2c00af193a07682edd8dc083836dacede525ceff..865d2227229f224cf3123b960a11d52acb5b32cd 160000
--- a/libdap-chain-cs-dag
+++ b/libdap-chain-cs-dag
@@ -1 +1 @@
-Subproject commit 2c00af193a07682edd8dc083836dacede525ceff
+Subproject commit 865d2227229f224cf3123b960a11d52acb5b32cd
diff --git a/libdap-chain-cs-dag-hashgraph b/libdap-chain-cs-dag-hashgraph
deleted file mode 160000
index d30d1f4a3028ecef9578c253f421a9e0a967efeb..0000000000000000000000000000000000000000
--- a/libdap-chain-cs-dag-hashgraph
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit d30d1f4a3028ecef9578c253f421a9e0a967efeb
diff --git a/libdap-chain-cs-dag-poa b/libdap-chain-cs-dag-poa
index 12003e1cb8a0039090e2fa2e54691425682f6403..f812a7e2ed3006ba466d06fe3bf605a1d23d6e5c 160000
--- a/libdap-chain-cs-dag-poa
+++ b/libdap-chain-cs-dag-poa
@@ -1 +1 @@
-Subproject commit 12003e1cb8a0039090e2fa2e54691425682f6403
+Subproject commit f812a7e2ed3006ba466d06fe3bf605a1d23d6e5c
diff --git a/libdap-chain-cs-dag-poh b/libdap-chain-cs-dag-poh
deleted file mode 160000
index bc964f0dcf0985aa9e56028d2275e246ee3a8ef4..0000000000000000000000000000000000000000
--- a/libdap-chain-cs-dag-poh
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit bc964f0dcf0985aa9e56028d2275e246ee3a8ef4
diff --git a/libdap-chain-cs-dag-pos b/libdap-chain-cs-dag-pos
index 3df616d5fbe8bab3ad66106da929e26b442805c7..0a602c620d6c7261ec6772c75e6507132d8d9806 160000
--- a/libdap-chain-cs-dag-pos
+++ b/libdap-chain-cs-dag-pos
@@ -1 +1 @@
-Subproject commit 3df616d5fbe8bab3ad66106da929e26b442805c7
+Subproject commit 0a602c620d6c7261ec6772c75e6507132d8d9806
diff --git a/libdap-chain-mempool b/libdap-chain-mempool
index 34fdd1084926156576678043a4180d3df7138c4c..ef1241476b857d71db0c5079af93ed7761d7b8e1 160000
--- a/libdap-chain-mempool
+++ b/libdap-chain-mempool
@@ -1 +1 @@
-Subproject commit 34fdd1084926156576678043a4180d3df7138c4c
+Subproject commit ef1241476b857d71db0c5079af93ed7761d7b8e1
diff --git a/libdap-chain-mine b/libdap-chain-mine
deleted file mode 160000
index 1c2d1d7f7ab97ff6542b669c4f8ed73d6d15a9a4..0000000000000000000000000000000000000000
--- a/libdap-chain-mine
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1c2d1d7f7ab97ff6542b669c4f8ed73d6d15a9a4
diff --git a/libdap-chain-net b/libdap-chain-net
index db815cb587eab65ba13d0add4daf4b6625d8a900..49012c77f97666d7e3b33d618f175042f293d56d 160000
--- a/libdap-chain-net
+++ b/libdap-chain-net
@@ -1 +1 @@
-Subproject commit db815cb587eab65ba13d0add4daf4b6625d8a900
+Subproject commit 49012c77f97666d7e3b33d618f175042f293d56d
diff --git a/libdap-chain-net-srv b/libdap-chain-net-srv
index 0783ba715d28b71d6c2c7fb8ea2df4ad0d5bb894..98725cd5408b097914f85b3183729376372a3005 160000
--- a/libdap-chain-net-srv
+++ b/libdap-chain-net-srv
@@ -1 +1 @@
-Subproject commit 0783ba715d28b71d6c2c7fb8ea2df4ad0d5bb894
+Subproject commit 98725cd5408b097914f85b3183729376372a3005
diff --git a/libdap-chain-net-srv-vpn b/libdap-chain-net-srv-vpn
index 657f42e138dba298deb06134586ca09aaba3b38d..10476728dbc21816ea314b4b089e1903132b80b3 160000
--- a/libdap-chain-net-srv-vpn
+++ b/libdap-chain-net-srv-vpn
@@ -1 +1 @@
-Subproject commit 657f42e138dba298deb06134586ca09aaba3b38d
+Subproject commit 10476728dbc21816ea314b4b089e1903132b80b3
diff --git a/libdap-stream b/libdap-stream
index 9729b3341b4a1d5cc90007be760d3c8931f2bf3d..f6c1c2cd593ca61b6cc5140855d5dbd9bc61aed3 160000
--- a/libdap-stream
+++ b/libdap-stream
@@ -1 +1 @@
-Subproject commit 9729b3341b4a1d5cc90007be760d3c8931f2bf3d
+Subproject commit f6c1c2cd593ca61b6cc5140855d5dbd9bc61aed3
diff --git a/sources/main_node_cli.c b/sources/main_node_cli.c
index 56f203c739790ef499f84c037df78d4fd9f86199..4f9937a4f4ef81dd1d4e5a000e214c96923f9a42 100755
--- a/sources/main_node_cli.c
+++ b/sources/main_node_cli.c
@@ -79,7 +79,7 @@ static char** split_word(char *line, int *argc)
 int execute_line(char *line)
 {
     register int i;
-    const COMMAND *command;
+    dap_chain_node_cmd_item_t *command;
     char *word;
 
     /* Isolate the command word. */
@@ -198,19 +198,12 @@ int main(int argc, const char * argv[])
      free_cmd_state(cmd);
      }*/
 
-    const COMMAND *command = NULL;
-    // in the first argument of command line look for the command
-    if(argc > 1)
-        command = find_command(argv[1]);
-
-    // command found
-    if(command)
-    {
+    if(argc > 1){
         // Call the function
         //int res = ((*(command->func))(argc - 2, argv + 2));
         cmd_state cmd;
         memset(&cmd, 0, sizeof(cmd_state));
-        cmd.cmd_name = (char *) argv[1];
+        cmd.cmd_name = strdup(argv[1]);
         cmd.cmd_param_count = argc - 2;
         if(cmd.cmd_param_count > 0)
             cmd.cmd_param = (char**) (argv + 2);