diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cea2a824e3757b1ca8538c8409d23ed23c49e9fa..e5633da0d0ee3a554bef50729b1f88a18f355c40 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,7 @@
 variables:
     GIT_SUBMODULE_STRATEGY: recursive
     GIT_SUBMODULE_UPDATE_FLAGS: --force
+    
 
 workflow:
   rules:
@@ -11,7 +12,7 @@ workflow:
 
 stages:
     - test_build
-    - test_proceed
+    - diagnostic_builds
     - build
     - post_build
     - publish
@@ -39,15 +40,6 @@ stages:
     PATCH_NUM_MAIN: "${master_PATCH_NUM}"
 
   rules:
-    - if: $CI_COMMIT_REF_NAME =~ /-asan$/
-      variables:                                   
-        DAP_ASAN: "1"  
-    - if: $CI_COMMIT_REF_NAME =~ /-ubsan$/
-      variables:                                   
-        DAP_UBSAN: "1"  
-    - if: $CI_COMMIT_REF_NAME =~ /-tsan$/
-      variables:                                   
-        DAP_TSAN: "1"
     - if: $CI_COMMIT_REF_NAME =~ /.*$/
       variables:                                   
         DUMMY_VAR_FOR_ALLOW_JOB: "1"
@@ -73,7 +65,7 @@ stages:
   allow_failure: true
 
 .fill_version_mk: &fill_version_mk
-  - PATCH_NUM_VAR_NAME=$(echo "${CI_COMMIT_REF_SLUG}" | tr "-" _)_PATCH_NUM
+  - PATCH_NUM_VAR_NAME=P_$(echo "${CI_COMMIT_REF_SLUG}" | tr "-" _)_PATCH_NUM
   - echo ${PATCH_NUM_VAR_NAME}
   - 'PATCH_NUM=$(curl -s --header "PRIVATE-TOKEN: ${ACCESS_TOKEN}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/variables/${PATCH_NUM_VAR_NAME}" | jq -r ".value // empty")'
   - echo "Gitlab var patch number for ${PATCH_NUM_VAR_NAME} is ${PATCH_NUM}."
@@ -101,21 +93,19 @@ amd64:linux.rwd.bld:
       - *fill_version_mk
     script:
       - echo "Do hard work"
-      - ./prod_build/build.sh --target linux rwd -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON
+      - ./prod_build/build.sh --target linux rwd -DBUILD_WITH_PYTHON_ENV=ON 
       - ./prod_build/pack.sh --target linux rwd
       
 autotests:
   extends: .ci-test
   interruptible: true
-
-  stage: test_proceed
+  stage: diagnostic_builds
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
       when: always
     - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
       when: manual
       allow_failure: true
-
   variables:
     GIT_STRATEGY: none
   dependencies:
@@ -123,6 +113,64 @@ autotests:
   script:
     - /opt/tests-in-docker/artifacts.sh build_*/*.deb
 
+asan_build:
+  extends: .build
+  stage: diagnostic_builds
+  variables:
+    DAP_ASAN: "1"
+  dependencies:
+    - amd64:linux.rwd.bld
+  image: demlabs/debian/amd64:qt5
+  rules:
+   - when: manual
+     allow_failure: true
+  before_script:
+   - /opt/buildtools/prepare_environment.sh arm64-linux
+   - *fill_version_mk
+  script:
+    - ./prod_build/build.sh --target linux rwd 
+    - ./prod_build/pack.sh --target linux rwd
+    - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb 
+
+ubsan_build:
+  extends: .build
+  stage: diagnostic_builds
+  variables:
+    DAP_UBSAN: "1"
+  dependencies:
+    - amd64:linux.rwd.bld
+  image: demlabs/debian/amd64:qt5
+  rules:
+   - when: manual
+     allow_failure: true
+  before_script:
+   - /opt/buildtools/prepare_environment.sh arm64-linux
+   - *fill_version_mk
+  script:
+    - ./prod_build/build.sh --target linux rwd 
+    - ./prod_build/pack.sh --target linux rwd
+    - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb     
+
+tsan_build:
+  extends: .build
+  stage: diagnostic_builds
+  variables:
+    DAP_TSAN: "1"
+  dependencies:
+    - amd64:linux.rwd.bld
+  image: demlabs/debian/amd64:qt5
+  rules:
+   - when: manual
+     allow_failure: true
+  before_script:
+   - /opt/buildtools/prepare_environment.sh arm64-linux
+   - *fill_version_mk
+  script:
+    - ./prod_build/build.sh --target linux rwd 
+    - ./prod_build/pack.sh --target linux rwd
+    - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb 
+
+
 amd64:linux.rwd:
     extends: .build
     stage: build
@@ -138,6 +186,7 @@ amd64:linux.rwd:
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb --redirect-with-link linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 --just-redirect
       
+
 amd64:linux.release:
     extends: .build
     image: demlabs/debian/amd64:qt5
@@ -146,7 +195,7 @@ amd64:linux.release:
       - *fill_version_mk
     script:
       - echo "Do hard work"
-      - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON
+      - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON 
       - ./prod_build/pack.sh --target linux release
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb 
 
@@ -158,12 +207,10 @@ amd64:windows.rwd:
       - *fill_version_mk
     script:
       - echo "Do hard work"
-      - ./prod_build/build.sh --target windows rwd -DBUILD_DIAGTOOL=ON
+      - ./prod_build/build.sh --target windows rwd
       - ./prod_build/pack.sh --target windows rwd 
       - /opt/buildtools/deploy_files.sh pub_cellframe windows/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.exe 
       - /opt/buildtools/deploy_files.sh pub_cellframe windows/cellframe-node/$CI_COMMIT_REF_NAME/ build_windows_rwd/*.exe --redirect-with-link windows/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 --just-redirect
-
-
 amd64:macos.release:
     extends: .build
     image: demlabs/macos/amd64:qt5
@@ -172,15 +219,12 @@ amd64:macos.release:
       - *fill_version_mk
     script:
       - echo "Do hard work"
-      - ./prod_build/build.sh --target osx release #-DBUILD_DIAGTOOL=ON
+      - ./prod_build/build.sh --target osx release
       - ./prod_build/pack.sh --target osx release --sign /opt/buildtools/sign/macos/demlabs.sh
-      - /opt/buildtools/deploy_files.sh pub_cellframe macos/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.pkg 
-      - /opt/buildtools/deploy_files.sh pub_cellframe macos/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*-signed.pkg --redirect-with-link macos/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 --just-redirect # symlink
-
+      - /opt/buildtools/deploy_files.sh pub_cellframe macos/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*-signed.pkg --redirect-with-link macos/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 
     artifacts:
       paths:
         - build_*/*.pkg
-
 amd64:linux.debug:
     extends: .build
     image: demlabs/debian/amd64:qt5
@@ -189,11 +233,9 @@ amd64:linux.debug:
       - *fill_version_mk
     script:
       - echo "Do hard work"
-      - ./prod_build/build.sh --target linux debug -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON
+      - ./prod_build/build.sh --target linux debug -DBUILD_WITH_PYTHON_ENV=ON 
       - ./prod_build/pack.sh --target linux debug
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb 
-
-
 amd64:linux.rwd.opt:
     extends: .build
     image: demlabs/debian/amd64:qt5
@@ -202,11 +244,10 @@ amd64:linux.rwd.opt:
       - *fill_version_mk
     script:
       - echo "Do hard work"
-      - ./prod_build/build.sh --target linux rwd -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON -DCELLFRAME_NO_OPTIMIZATION=OFF
+      - ./prod_build/build.sh --target linux rwd -DBUILD_WITH_PYTHON_ENV=ON -DCELLFRAME_NO_OPTIMIZATION=OFF
       - ./prod_build/pack.sh --target linux rwd
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb --redirect-with-link linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64.opt --just-redirect
-
 amd64:linux.tps:
     extends: .build
     image: demlabs/debian/amd64:qt5
@@ -214,21 +255,25 @@ amd64:linux.tps:
       - /opt/buildtools/prepare_environment.sh amd64-linux
       - *fill_version_mk
     when: manual
-
     script:
       - ./prod_build/build.sh --target linux release -DBUILD_WITH_TPS_TEST=ON
       - ./prod_build/pack.sh --target linux release
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb
 
-.amd64:linux.updtr:
+amd64:linux.updtr:
     extends: .build
+    stage: build
     image: demlabs/debian/amd64:qt5
+    rules:
+      - when: manual
+        allow_failure: true
+
     before_script: 
       - /opt/buildtools/prepare_environment.sh amd64-linux
       - *fill_version_mk
     script:
       - echo "Do hard work"
-      - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON -DADD_UPDATER=ON
+      - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON -DADD_UPDATER=ON
       - ./prod_build/pack.sh --target linux release
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb
 
@@ -240,7 +285,7 @@ amd64:linux.tps:
       - *fill_version_mk
     script: 
       - echo "Do hard work"
-      - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON
+      - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON
       - ./prod_build/pack.sh --target linux release
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb 
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/  build_linux_release/*-amd64.deb --redirect-from linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64
@@ -250,35 +295,32 @@ amd64:linux.tps:
 armhf:linux.release:
     extends: .build
     image: demlabs/debian/arm32:qt5
-
     before_script:
       - /opt/buildtools/prepare_environment.sh armhf-linux
       - *fill_version_mk
-    script: 
+    script:
       - echo "Do hard work"
       - ./prod_build/build.sh --target linux release
       - ./prod_build/pack.sh --target linux release
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb 
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*armhf*.deb --redirect-with-link linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-armhf --just-redirect
-
 arm64:linux.release:
     extends: .build
     image: demlabs/debian/arm64:qt5
-    before_script: 
+    before_script:
       - /opt/buildtools/prepare_environment.sh arm64-linux
       - *fill_version_mk
-    script: 
+    script:
       - echo "Do hard work"
       - ./prod_build/build.sh --target linux release
       - ./prod_build/pack.sh --target linux release
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb 
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*arm64*.deb --redirect-with-link linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-arm64 --just-redirect
   
-
 any:android.release:
     extends: .build
     image: demlabs/android/any:qt5
-    before_script: 
+    before_script:
       - /opt/buildtools/prepare_environment.sh arm64-linux
       - 'apt install -y openjdk-17-jdk'
       - 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/'
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6d1fa7294b708769c95344139fb894fd3de027f2..9483a1570896f656d20673747dedaaea92a7c747 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,7 +8,7 @@ set(CMAKE_ENABLE_EXPORTS ON)
 set(CMAKE_VERBOSE_MAKEFILE ON)
 set(CMAKE_COLOR_MAKEFILE   ON)
 set(CMAKE_C_STANDARD 11)
-
+        
 # Predefine project
 SET( CPACK_PACKAGE_NAME  "${PROJECT_NAME}")
 ReadVariables(version.mk)
@@ -181,13 +181,22 @@ if(UNIX)
         endif()
     endif()
 
+    if (DEFINED ENV{DAP_ASAN})
+        SET( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-asan" )
+    endif()
+    if (DEFINED ENV{DAP_UBSAN})
+        SET( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-ubsan" )
+    endif()
+    if (DEFINED ENV{DAP_TSAN})
+        SET( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-tsan" )
+    endif()
+
 
     SET( CPACK_DEBIAN_PACKAGE_MAINTAINER "Dmitriy Gerasimov <naeper@demlabs.net>" )
     SET( CPACK_DEBIAN_PACKAGE_DESCRIPTION_SUMMARY "CellFrame Node software https://cellframe.net" )
     SET( CPACK_DEBIAN_PACKAGE_DESCRIPTION   "CellFrame Node" )
     SET( CPACK_DEBIAN_PACKAGE_SECTION "extra")
-    SET( CPACK_DEBIAN_PACKAGE_DEPENDS "dpkg (>=1.17), bash (>=4), less, pv, psmisc, logrotate, irqbalance, xz-utils")
-
+    SET( CPACK_DEBIAN_PACKAGE_DEPENDS "dpkg (>=1.17), bash (>=4), less, pv, psmisc, logrotate, irqbalance, xz-utils")        
     #have to figure out how to use it properly with custom RPATH for python plugins...
     if (NOT SUPPORT_PYTHON_PLUGINS)
         SET( CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
@@ -304,6 +313,15 @@ if(UNIX AND NOT WIN32)
                 add_definitions("-DPYTHON_VERSION=\"python3.10\"")
             endif()
 
+            if (DARWIN)
+                if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
+                    set(PYTHON_URL "https://pub.cellframe.net/3rdparty/python/cpython-3.10.16+20250212-aarch64-apple-darwin-install_only.tar.gz")
+                else ()
+                    set(PYTHON_URL "https://pub.cellframe.net/3rdparty/python/cpython-3.10.16%2B20250205-x86_64-apple-darwin-install_only.tar.gz")
+                endif()
+                add_definitions("-DPYTHON_VERSION=\"python3.10\"")
+            endif()
+
             message("[+] Build with python environment")
             message("    Downloading static prebuild cpython  ${PYTHON_URL}")
             #this python was build by compiling and installing static python distrip to /opt/cellframe-node/ and
@@ -327,9 +345,9 @@ if(UNIX AND NOT WIN32)
             list(APPEND CMAKE_PREFIX_PATH ${cpythonstatic_SOURCE_DIR})
             
             if ( CPACK_DEBIAN_PACKAGE_ARCHITECTURE MATCHES "arm")
-                find_package(Python EXACT 3.11 COMPONENTS Interpreter Development REQUIRED)
+                find_package(Python EXACT 3.11 COMPONENTS  Development REQUIRED)
             else()
-                find_package(Python EXACT 3.10 COMPONENTS Interpreter Development REQUIRED)
+                find_package(Python EXACT 3.10 COMPONENTS  Development REQUIRED)
             endif()
 
             target_link_options(${NODE_TARGET} PUBLIC "-Wl,-rpath,${CMAKE_INSTALL_PREFIX}/python/lib/")
@@ -359,8 +377,15 @@ if(UNIX AND NOT WIN32)
 
         include_directories(${Python_INCLUDE_DIRS} include/)
         add_subdirectory(python-cellframe)
-
+        #this helps
+        #install_name_tool -change /install/lib/libpython3.10.dylib @executable_path/../../python/lib/libpython3.10.dylib ./build_osx_rwd/dist/Applications/CellframeNode.app/Contents/MacOS/cellframe-node
         list(APPEND NODE_LIBRARIES dap_plugins_python ${Python_LIBRARIES})
+        if (DARWIN)
+        add_custom_command(TARGET ${NODE_TARGET} 
+            POST_BUILD COMMAND 
+            ${CMAKE_INSTALL_NAME_TOOL} -change /install/lib/libpython3.10.dylib @executable_path/../Frameworks/python/lib/libpython3.10.dylib 
+            ${NODE_TARGET})
+        endif()
     endif()
 
     if(ANDROID )
@@ -394,6 +419,25 @@ if(DARWIN)
     INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/os/macos/com.demlabs.cellframe-diagtool.plist DESTINATION ${SHAREDIR} )
     INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/os/macos/Info.plist DESTINATION ${CONTENTSDIR} )
 
+    if (BUILD_WITH_PYTHON_ENV)
+    set(PYTHON_PIP "${cpythonstatic_SOURCE_DIR}/bin/pip3")
+    set(PYTHON_BIN "${cpythonstatic_SOURCE_DIR}/bin/python3.10")
+    set(PYTHON_LIB "${cpythonstatic_SOURCE_DIR}/lib/libpython3.10.dylib")
+    set(PYTHON_LIB_DIR "${cpythonstatic_SOURCE_DIR}/lib/python3.10")
+    set(PYTHON_LIB_DIR_PRFX "python3.10")
+    
+    INSTALL(FILES ${PYTHON_PIP} DESTINATION ${RLIBDIR}/python/bin/ )
+    INSTALL(FILES ${PYTHON_BIN} DESTINATION ${RLIBDIR}/python/bin/ )
+    INSTALL(FILES ${PYTHON_LIB} DESTINATION ${RLIBDIR}/python/lib/ )
+    
+    INSTALL(DIRECTORY ${PYTHON_LIB_DIR} DESTINATION ${RLIBDIR}/python/lib/ USE_SOURCE_PERMISSIONS)
+    
+    #install python-modules
+    INSTALL(DIRECTORY python-cellframe/dists/python-modules/pycfhelpers DESTINATION ${RLIBDIR}/python/lib/${PYTHON_LIB_DIR_PRFX}/site-packages USE_SOURCE_PERMISSIONS)
+    INSTALL(DIRECTORY python-cellframe/dists/python-modules/pycftools DESTINATION ${RLIBDIR}/python/lib/${PYTHON_LIB_DIR_PRFX}/site-packages USE_SOURCE_PERMISSIONS)
+    INSTALL(DIRECTORY python-cellframe/dists/interfaces DESTINATION ${RLIBDIR}/python/lib/ USE_SOURCE_PERMISSIONS)
+    endif()
+
 else()
 
     INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dist/ DESTINATION ${CMAKE_INSTALL_PREFIX} FILES_MATCHING PATTERN "*"  PATTERN "*")
diff --git a/conftool/main.cpp b/conftool/main.cpp
index 6e56531bcf28a6231254736f8513e9dc68c4feae..1d5c098c4ab37dfd08423fd6c6f93ad3df24ad99 100644
--- a/conftool/main.cpp
+++ b/conftool/main.cpp
@@ -114,11 +114,11 @@ std::string getNodeConfigPath(std::string basepath){
     #endif
 
     #ifdef __linux__
-        return "/opt/cellframe-node/";
+        return "/opt/cellframe-node";
     #endif
     
     #ifdef __APPLE__ 
-        return  "/Library/Application Support/CellframeNode/";
+        return  "/Library/Application Support/CellframeNode";
     #endif
 
 
@@ -130,7 +130,7 @@ std::string getNodeConfigPath(std::string basepath){
         std::wstring path;
         GetStringRegKey(hKey, L"Common Documents", path, L"");
         std::string stdpath(path.begin(),path.end());
-        return (std::filesystem::path{stdpath}/"cellframe-node/").string();
+        return (std::filesystem::path{stdpath}/"cellframe-node").string();
     #endif
 }
 
diff --git a/dist.linux/share/update.sh b/dist.linux/share/update.sh
index e15f4fe875fceba530b78e1e5c276c77b84967f1..43710d3001bab27292376256df75370803225f1d 100755
--- a/dist.linux/share/update.sh
+++ b/dist.linux/share/update.sh
@@ -1,6 +1,7 @@
- #! /bin/bash
+#! /bin/bash
 set -e
-STORAGE_URL=https://pub.cellframe.net/linux/cellframe-node/master/updates
+STORAGE_URL=https://pub.cellframe.net/linux/cellframe-node/master
+
 
 MACHINE=$(uname -m)
 
@@ -45,13 +46,22 @@ CURRENT_REBUILD=$(echo $INSTALLED_VERSION | grep -Po "[0-9]([0-9]+)")
 echo "Available patch: $MAX_REBUILD | Current patch: $CURRENT_REBUILD"
 
 if (( MAX_REBUILD > CURRENT_REBUILD )); then
-    echo "Need update cellframe-node to 5.2-$MAX_REBUILD..."
+    # Determine the full version (e.g. 5.3-354) from AVAILABLE_VERSIONS by the patch we found
+    for ver in "${AVAILABLE_VERSIONS[@]}"
+    do
+        patch=$(echo $ver | cut -d'-' -f2)
+        if [ "$patch" = "$MAX_REBUILD" ]; then
+            NEW_VERSION=$ver
+            break
+        fi
+    done
+    echo "Need update cellframe-node to $NEW_VERSION..."
 else
     echo "No need to update cellframe-node"
     exit 0
 fi
 
-PACKAGE_NAME="cellframe-node-5.2-$MAX_REBUILD-updtr-amd64.deb"
+PACKAGE_NAME="cellframe-node-$NEW_VERSION-updtr-${POSTFIX}.deb"
 echo "wget"
 mkdir -p /tmp/cfupd/
 wget $STORAGE_URL/$PACKAGE_NAME -O /tmp/cfupd/$PACKAGE_NAME
@@ -73,4 +83,4 @@ fi
 
 
 dpkg -i /tmp/cfupd/$PACKAGE_NAME
-service cellframe-node restart
\ No newline at end of file
+service cellframe-node restart
diff --git a/dist/share/configs/cellframe-node.cfg b/dist/share/configs/cellframe-node.cfg
index 6de66576974e1d76b1bca9edc22fd30ff280dafc..0a0fe0fd2c73e0047f393250ef9893fd354840aa 100644
--- a/dist/share/configs/cellframe-node.cfg
+++ b/dist/share/configs/cellframe-node.cfg
@@ -188,7 +188,7 @@ driver=
 #pgsql conninfo array
 # pg_conninfo=[dbname=postgres]
 
-# Plugins
+# Plugins 
 [plugins]
 enabled=true
 # Load Python-based plugins
diff --git a/dist/share/configs/network/Backbone.cfg b/dist/share/configs/network/Backbone.cfg
index fb67e61e3cb8cfe5b25890d0ecff3ed46d18fc4d..bb8094485c5340d6cd74bd3d08d6527ae5325473 100755
--- a/dist/share/configs/network/Backbone.cfg
+++ b/dist/share/configs/network/Backbone.cfg
@@ -30,3 +30,6 @@ seed_nodes_hosts=[0.root.scorpion.cellframe.net:8079,1.root.scorpion.cellframe.n
 #collecting_level=10.0
 #fee_addr=myaddr
 
+# [policy]
+# activate=1
+# deactivate=[0,1]
diff --git a/dist/share/configs/network/KelVPN.cfg b/dist/share/configs/network/KelVPN.cfg
index 0df7436192412fe331b12c9a753b5e34ff9a9fb8..6063a0fb708d6370078b5073ef10dae495939131 100644
--- a/dist/share/configs/network/KelVPN.cfg
+++ b/dist/share/configs/network/KelVPN.cfg
@@ -25,3 +25,7 @@ seed_nodes_hosts=[0.root.kelvpn.com:8079,1.root.kelvpn.com:8079,2.root.kelvpn.co
 #blocks-sign-cert=mycert
 #collecting_level=10.0
 #fee_addr=myaddr
+
+# [policy]
+# activate=1
+# deactivate=[0,1]
diff --git a/dist/share/configs/network/mileena.cfg b/dist/share/configs/network/mileena.cfg
index 0de09143a4011e077cd7c3da8c02b2d59a834b64..8dc101fbcb3711233ab696f80b50e0845f4531ea 100755
--- a/dist/share/configs/network/mileena.cfg
+++ b/dist/share/configs/network/mileena.cfg
@@ -33,3 +33,7 @@ seed_nodes_addrs=[CCCC::0000::0000::0000,CCCC::0000::0000::0001,CCCC::0000::0000
 
 #[block-poa]
 #blocks-sign-cert=mycert
+
+# [policy]
+# activate=1
+# deactivate=[0,1]
diff --git a/dist/share/configs/network/raiden.cfg b/dist/share/configs/network/raiden.cfg
index 07bc8d3b0bd827d6d5b08312861c00247b2174ed..0aa8df938ea193159a040a51578cf35281e1f256 100644
--- a/dist/share/configs/network/raiden.cfg
+++ b/dist/share/configs/network/raiden.cfg
@@ -34,3 +34,7 @@ seed_nodes_hosts=[0.root.raiden.cellframe.net:8079, 1.root.raiden.cellframe.net:
 #blocks-sign-cert=mycert
 #collecting_level=10.0
 #fee_addr=myaddr
+
+# [policy]
+# activate=1
+# deactivate=[0,1]
diff --git a/dist/share/configs/network/riemann.cfg b/dist/share/configs/network/riemann.cfg
index 0264e674c13ef6d71be2ba1aa45222c06050c296..8c437d313b125ad658bb835816a3f7be0749bbf9 100644
--- a/dist/share/configs/network/riemann.cfg
+++ b/dist/share/configs/network/riemann.cfg
@@ -32,3 +32,7 @@ seed_nodes_hosts=[0.root.riemann.cellframe.net:8079, 1.root.riemann.cellframe.ne
 #blocks-sign-cert=mycert
 #collecting_level=10.0
 #fee_addr=myaddr
+
+# [policy]
+# activate=1
+# deactivate=[0,1]
diff --git a/dist/share/configs/network/subzero.cfg b/dist/share/configs/network/subzero.cfg
index 298158d715dea5952f133a616a0f343a649a1393..c8fe9e2c997199211d01cc8272d836a323e3e9e0 100755
--- a/dist/share/configs/network/subzero.cfg
+++ b/dist/share/configs/network/subzero.cfg
@@ -32,3 +32,7 @@ seed_nodes_hosts=[0.root.subzero.cellframe.net:8190, 1.root.subzero.cellframe.ne
 #blocks-sign-cert=mycert
 #collecting_level=10.0
 #fee_addr=myaddr
+
+# [policy]
+# activate=1
+# deactivate=[0,1]
diff --git a/dist/share/default.setup b/dist/share/default.setup
index dd929b4c15068327fe443b27c32410418be96e6b..c0de7be100ad4969c2560b8f97ed3fe126e461b2 100644
--- a/dist/share/default.setup
+++ b/dist/share/default.setup
@@ -7,7 +7,7 @@
 # Predefined variables:
 #   ${HOST_OS} -> Linux | Windows | Macos
 #   ${HOSTNAME} -> hostname of a machine
-#   ${CONFIGS_PATH} -> /opt/cellframe-node/ for linux, 
+#   ${CONFIGS_PATH} -> /opt/cellframe-node for linux, 
 #                      Common Documents (usually C:\Users\Public\Documents\cellframe-node\) for Windows
 #
 # fromtemplate: create and populate config from "share/configs" templates  
@@ -90,7 +90,7 @@ if Linux != ${HOST_OS}
     config cellframe-node  plugins       enabled          ensure     false
 endif
 
-config cellframe-node  plugins       py_path          ensure      ${CONFIGS_PATH}/var/lib/plugins
+config cellframe-node  plugins       py_path          ensure      ../var/lib/plugins
 
 config  Backbone     general     node-role   default     full
 config  KelVPN       general     node-role   default     full
diff --git a/os/windows/cellframe-node.nsis b/os/windows/cellframe-node.nsis
index 4b3c08066f7402cf68dbc75acd4fb57e9c0e90ab..c45f43e565c70b5cf3d53f84ffd21147737daa9a 100644
--- a/os/windows/cellframe-node.nsis
+++ b/os/windows/cellframe-node.nsis
@@ -138,15 +138,13 @@ Var NetBackboneCb
 Var NetKelVPNCb
 Var NetRiemannCb
 Var NetRaidenCb
-Var NetMileenaCb
-Var NetSubzeroCb
+
 
 Var NetBackboneState
 Var NetKelVPNState
 Var NetRiemannState
 Var NetRaidenState
-Var NetMileenaState
-Var NetSubzeroState
+
 
 ${StrTrimNewLines}
 
@@ -176,18 +174,6 @@ Function getNetworksStates
 	${WordFind} $1 " " "-01" $NetRaidenState
 	${StrTrimNewLines} $NetRaidenState $NetRaidenState
 
-	nsExec::ExecToStack /OEM "$INSTDIR\${NODE_NAME}-config.exe -e network mileena check" 
-	Pop $0 ; Exit code / error
-	Pop $1 ; stdout output
-	${WordFind} $1 " " "-01" $NetMileenaState
-	${StrTrimNewLines} $NetMileenaState $NetMileenaState
-
-	nsExec::ExecToStack /OEM "$INSTDIR\${NODE_NAME}-config.exe -e network subzero check" 
-	Pop $0 ; Exit code / error
-	Pop $1 ; stdout output
-	${WordFind} $1 " " "-01" $NetSubzeroState
-	${StrTrimNewLines} $NetSubzeroState $NetSubzeroState
-
 FunctionEnd
 ${UnStrTrimNewLines}
 
@@ -272,14 +258,6 @@ Function checkEnabledNets
 		${NSD_Check} $NetRaidenCb
 	${EndIf}
 
-	${If} $NetMileenaState == "on"
-		${NSD_Check} $NetMileenaCb
-	${EndIf}
-
-	${If} $NetSubzeroState == "on"
-		${NSD_Check} $NetSubzeroCb
-	${EndIf}
-
 FunctionEnd
 
 Function pgNetSelectCreate
@@ -311,12 +289,6 @@ Function pgNetSelectCreate
 		${NSD_CreateCheckbox} 20% 68u 20% 10u "Raiden"
 		Pop $NetRaidenCb
 
-		${NSD_CreateCheckbox} 20% 82u 20% 10u "Mileena"
-		Pop $NetMileenaCb
-
-		${NSD_CreateCheckbox} 20% 96u 20% 10u "Subzero"
-		Pop $NetSubzeroCb
-
 	Call checkEnabledNets
 
     nsDialogs::Show
@@ -336,16 +308,11 @@ Function pgNetSelectLeave
 	${NSD_GetState} $NetKelVPNCb $NetKelVPNState
 	${NSD_GetState} $NetRiemannCb $NetRiemannState
 	${NSD_GetState} $NetRaidenCb $NetRaidenState
-	${NSD_GetState} $NetMileenaCb $NetMileenaState
-	${NSD_GetState} $NetSubzeroCb $NetSubzeroState
-	
-	
+
 	!insertmacro ensureNetworkState "Backbone" $NetBackboneState
 	!insertmacro ensureNetworkState "KelVPN" $NetKelVPNState
 	!insertmacro ensureNetworkState "riemann" $NetRiemannState
 	!insertmacro ensureNetworkState "raiden" $NetRaidenState
-	!insertmacro ensureNetworkState "mileena" $NetMileenaState
-	!insertmacro ensureNetworkState "subzero" $NetSubzeroState
 
 	Delete "$INSTDIR\${NODE_NAME}.exe"
 	Rename 	"$INSTDIR\cellframe-node.tmp" "$INSTDIR\cellframe-node.exe"
diff --git a/sources/cellframe-node.c b/sources/cellframe-node.c
index 921960e89173ff983c875ac30b6ded88495bae00..4255a192bdd3568febcef43daf06f7fab41efbc3 100755
--- a/sources/cellframe-node.c
+++ b/sources/cellframe-node.c
@@ -114,6 +114,7 @@
 #include "dap_chain_net_srv_emit_delegate.h"
 
 #include "dap_chain_wallet_cache.h"
+#include "dap_chain_policy.h"
 
 #include "dap_events_socket.h"
 #include "dap_client.h"
@@ -365,6 +366,11 @@ int main( int argc, const char **argv )
         return -65;
     }
 
+    if( dap_chain_policy_init() ){
+        log_it(L_CRITICAL,"Can't init dap chain policy module");
+        return -66;
+    }
+
     if( dap_chain_wallet_init() ) {
         log_it(L_CRITICAL,"Can't init dap chain wallet module");
         return -61;