diff --git a/.github/workflows/build-test-distribute.yml b/.github/workflows/build-test-distribute.yml
new file mode 100644
index 000000000000..69847273c17f
--- /dev/null
+++ b/.github/workflows/build-test-distribute.yml
@@ -0,0 +1,372 @@
+# This is a basic workflow to help you get started with Actions
+
+name: Build Test Distribute
+
+# Controls when the action will run. 
+on:
+  # Triggers the workflow on push or pull request events but only for the master branch
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+
+  # Allows you to run this workflow manually from the Actions tab
+  workflow_dispatch:
+
+jobs:
+  windows-build-test:
+    timeout-minutes: 40
+    # The type of runner that the job will run on
+    runs-on: [self-hosted, windows, x64]
+    strategy:
+      matrix:
+        config: [Debug, Release]
+    steps:
+      - name: Clear workspace
+        run: |
+          Remove-Item -Path "${{ github.workspace }}\*" -Recurse -Force
+
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          submodules: recursive          
+        
+      - name: Update thirdparty
+        run: thirdparty\install.bat
+
+      - name: Integrate vcpkg
+        run: vcpkg integrate install
+        
+      - name: Build
+        run: py -3 scripts\build_script.py ${{ matrix.config }}
+        
+      - name: Unit Tests
+        run: py -3 scripts\run_unit_test_script.py ${{ matrix.config }}
+
+      - name: Python Tests
+        working-directory: source\x64\${{ matrix.config }}
+        run: py -3 ..\..\..\scripts\run_python_test_script.py
+
+      - name: Archive files # https://github.com/actions/download-artifact#maintaining-file-permissions-and-case-sensitive-files
+        if: ${{ github.event_name == 'push' }}
+        run: tar -a -c -f MREDist_${{ matrix.config }}.zip ./source/x64/${{matrix.config}}
+        
+      - name: Upload Windows Binaries Archive
+        if: ${{ github.event_name == 'push' }}
+        uses: actions/upload-artifact@v2
+        with:
+          name: WindowsArchive${{ matrix.config }}
+          path: MREDist_${{ matrix.config }}.zip
+          retention-days: 1
+
+      - name: Clear workspace
+        run: |
+          Remove-Item -Path "${{ github.workspace }}\*" -Recurse -Force
+
+  ubuntu-build-test:
+    timeout-minutes: 40
+    runs-on: [self-hosted, linux, x64, ubuntu-20-lts]
+    strategy:
+      matrix:
+        config: [Debug, Release]
+        compiler: [Сlang 11, GCC 10]
+        include:
+          - compiler: Сlang 11
+            cxx-compiler: /usr/bin/clang++-11
+            c-compiler: /usr/bin/clang-11
+          - compiler: GCC 10
+            cxx-compiler: /usr/bin/g++-10
+            c-compiler: /usr/bin/gcc-10
+
+    steps:
+      # https://github.com/actions/checkout/issues/354#issuecomment-759282642
+      - name: Clear workspace
+        run: |
+          rm -rf ${{ github.workspace }} && mkdir ${{ github.workspace }}
+
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          submodules: recursive
+
+      - name: Install thirdparty libs
+        run: ./scripts/runner_install_thirdparty.sh
+
+      - name: Build
+        run: ./scripts/build_source.sh
+        env:
+          MESHRUS_BUILD_RELEASE: ${{ fromJSON('["OFF", "ON"]')[matrix.config == 'Release'] }}
+          MESHRUS_BUILD_DEBUG: ${{ fromJSON('["OFF", "ON"]')[matrix.config == 'Debug'] }}
+          CMAKE_CXX_COMPILER: ${{ matrix.cxx-compiler }}
+          # not realy needed
+          CMAKE_C_COMPILER: ${{ matrix.c-compiler }}
+
+      - name: Unit Tests
+        run: ./build/${{ matrix.config }}/bin/MRTest
+        
+      - name: Python Tests
+        working-directory: ./build/${{ matrix.config }}/bin
+        run: python3 ./../../../scripts/run_python_test_script.py
+
+      - name: Archive files # https://github.com/actions/download-artifact#maintaining-file-permissions-and-case-sensitive-files
+        if: ${{ github.event_name == 'push' && matrix.compiler == 'GCC 10' && matrix.config == 'Release'}}
+        run: tar -cvf Deb${{matrix.config}}Bin.tar ./build/${{matrix.config}}/bin
+        
+      - name: Upload Ubuntu Binaries Archive
+        if: ${{ github.event_name == 'push' && matrix.compiler == 'GCC 10' && matrix.config == 'Release'}}
+        uses: actions/upload-artifact@v2
+        with:
+          name: Deb${{matrix.config}}BinArchive
+          path: Deb${{matrix.config}}Bin.tar
+          retention-days: 1
+
+      - name: Clear workspace
+        run: |
+          rm -rf ${{ github.workspace }} && mkdir ${{ github.workspace }}
+
+  fedora-build-test:
+    timeout-minutes: 60
+    runs-on: [self-hosted, linux, x64, fedora35]
+    strategy:
+      matrix:
+        config: [Debug, Release]
+        compiler: [Сlang 13, GCC 11]
+        include:
+          - compiler: Сlang 13
+            cxx-compiler: /usr/bin/clang++-13
+            c-compiler: /usr/bin/clang-13
+          - compiler: GCC 11
+            cxx-compiler: /usr/bin/g++
+            c-compiler: /usr/bin/gcc
+            
+    steps:
+      # https://github.com/actions/checkout/issues/354#issuecomment-759282642
+      - name: Clear workspace
+        run: |
+          rm -rf ${{ github.workspace }} && mkdir ${{ github.workspace }}
+
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          submodules: recursive
+
+      - name: Install thirdparty libs
+        run: ./scripts/runner_install_thirdparty.sh
+
+      - name: Build
+        run: ./scripts/build_source.sh
+        env:
+          MESHRUS_BUILD_RELEASE: ${{ fromJSON('["OFF", "ON"]')[matrix.config == 'Release'] }}
+          MESHRUS_BUILD_DEBUG: ${{ fromJSON('["OFF", "ON"]')[matrix.config == 'Debug'] }}
+          CMAKE_CXX_COMPILER: ${{ matrix.cxx-compiler }}
+          # not realy needed
+          CMAKE_C_COMPILER: ${{ matrix.c-compiler }}
+
+      - name: Unit Tests
+        run: ./build/${{ matrix.config }}/bin/MRTest
+
+      - name: Python Tests
+        working-directory: ./build/${{ matrix.config }}/bin
+        run: python3 ./../../../scripts/run_python_test_script.py
+
+      - name: Archive files # https://github.com/actions/download-artifact#maintaining-file-permissions-and-case-sensitive-files
+        if: ${{ github.event_name == 'push' && matrix.compiler == 'GCC 11' && matrix.config == 'Release'}}
+        run: tar -cvf Rpm${{matrix.config}}Bin.tar ./build/${{matrix.config}}/bin
+        
+      - name: Upload Fedora Binaries Archive
+        if: ${{ github.event_name == 'push' && matrix.compiler == 'GCC 11' && matrix.config == 'Release'}}
+        uses: actions/upload-artifact@v2
+        with:
+          name: Rpm${{matrix.config}}BinArchive
+          path: Rpm${{matrix.config}}Bin.tar
+          retention-days: 1
+
+      - name: Clear workspace
+        run: |
+          rm -rf ${{ github.workspace }} && mkdir ${{ github.workspace }}
+
+  versioning-and-release-url:
+    if: ${{ github.event_name == 'push' }}
+    timeout-minutes: 10
+    runs-on: [self-hosted]
+    needs: [windows-build-test, ubuntu-build-test, fedora-build-test]
+    outputs:
+      version_tag: ${{ steps.version.outputs.version}}
+      upload_url: ${{ steps.create_release.outputs.upload_url }}
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+        with: 
+          fetch-depth: 0
+        
+      - name: Versioning
+        uses: paulhatch/semantic-version@v4.0.2
+        id: version
+        with:
+          format: "v${major}.${minor}.${patch}.${increment}"
+          short_tags: false
+          bump_each_commit: false
+
+      - name: Create Release
+        id: create_release
+        uses: actions/create-release@v1
+        env:
+          GITHUB_TOKEN: ${{ secrets.BUILD_MACHINE_TOKEN }}        
+        with:
+          tag_name: ${{steps.version.outputs.version }}
+          release_name: Release ${{steps.version.outputs.version}}
+          body: Autogenerated release
+          draft: true
+          prerelease: false
+
+  update-win-version-and-distribute:
+    if: ${{ github.event_name == 'push' }}
+    timeout-minutes: 15
+    runs-on: [self-hosted, windows, x64]
+    needs: [versioning-and-release-url]
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+        with: 
+          submodules: recursive
+          
+      - name: Download Windows Debug Binaries Archive
+        uses: actions/download-artifact@v2
+        with:
+          name: WindowsArchiveDebug
+
+      - name: Download Windows Release Binaries Archive
+        uses: actions/download-artifact@v2
+        with:
+          name: WindowsArchiveRelease
+
+      - name: Extract Windows Debug Binaries Archive
+        run: tar -xvzf MREDist_Release.zip
+
+      - name: Extract Windows Release Binaries Archive
+        run: tar -xvzf MREDist_Debug.zip
+
+      - name: Make Install Folder
+        run: python scripts\make_install_folder.py ${{needs.versioning-and-release-url.outputs.version_tag}}
+
+      - name: Distribute
+        run: python scripts\zip_distribution.py MeshLibDist.zip
+        
+      - name: Upload Windows Distribution
+        uses: actions/upload-release-asset@v1
+        env:
+          GITHUB_TOKEN: ${{ secrets.BUILD_MACHINE_TOKEN }}
+        with:
+          upload_url: ${{ needs.versioning-and-release-url.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps 
+          asset_path: MeshLibDist.zip
+          asset_name: MeshLibDist_${{needs.versioning-and-release-url.outputs.version_tag}}.zip
+          asset_content_type: application/zip
+          
+  update-deb-version-and-distribute:
+    if: ${{ github.event_name == 'push' }}
+    timeout-minutes: 10
+    runs-on: [self-hosted, linux, x64, ubuntu-20-lts]
+    needs: versioning-and-release-url
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+        with: 
+          submodules: recursive
+
+      - name: Install thirdparty libs
+        run: ./scripts/runner_install_thirdparty.sh
+
+      - name: Download Ubuntu Binaries Archive
+        uses: actions/download-artifact@v2
+        with:
+          name: DebReleaseBinArchive
+
+      - name: Extract Ubuntu Binaries Archive
+        run: tar -xvf DebReleaseBin.tar
+
+      - name: Create Deb
+        run: ./scripts/distribution.sh ${{needs.versioning-and-release-url.outputs.version_tag}}
+        env:
+          MESHRUS_BUILD_RELEASE: ON
+          MESHRUS_BUILD_DEBUG: OFF
+
+      - name: Upload Ubuntu Developer Distribution
+        uses: actions/upload-release-asset@v1
+        env:
+          GITHUB_TOKEN: ${{ secrets.BUILD_MACHINE_TOKEN }}
+        with:
+          upload_url: ${{ needs.versioning-and-release-url.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps 
+          asset_path: ./distr/meshlib-dev.deb
+          asset_name: meshlib_${{needs.versioning-and-release-url.outputs.version_tag}}-dev.deb
+          asset_content_type: application/vnd.debian.binary-package         
+          
+  update-rpm-version-and-distribute:
+    if: ${{ github.event_name == 'push' }}
+    timeout-minutes: 10
+    runs-on: [self-hosted, linux, x64, fedora35]
+    needs: versioning-and-release-url
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+        with: 
+          submodules: recursive
+
+      - name: Install thirdparty libs
+        run: ./scripts/runner_install_thirdparty.sh
+
+      - name: Download Fedora Binaries Archive
+        uses: actions/download-artifact@v2
+        with:
+          name: RpmReleaseBinArchive
+
+      - name: Extract Fedora Binaries Archive
+        run: tar -xvf RpmReleaseBin.tar
+
+      - name: Create RPM
+        run: ./scripts/distribution_rpm.sh ${{needs.versioning-and-release-url.outputs.version_tag}}
+        env:
+          MESHRUS_BUILD_RELEASE: ON
+          MESHRUS_BUILD_DEBUG: OFF
+
+      - name: Upload Fedora Developer Distribution
+        uses: actions/upload-release-asset@v1
+        env:
+          GITHUB_TOKEN: ${{ secrets.BUILD_MACHINE_TOKEN }}
+        with:
+          upload_url: ${{ needs.versioning-and-release-url.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps 
+          asset_path: meshlib-dev.rpm
+          asset_name: meshlib_${{needs.versioning-and-release-url.outputs.version_tag}}-dev.rpm
+          asset_content_type: application/octet-stream       
+
+  delete-artifacts:
+    timeout-minutes: 15
+    runs-on: [self-hosted]
+    needs: [update-win-version-and-distribute, update-deb-version-and-distribute, update-rpm-version-and-distribute]
+    if: always()
+    steps:
+        # all Windows
+      - name: Delete Windows Debug Install Archive artifact
+        uses: geekyeggo/delete-artifact@v1
+        with:
+          name: WindowsArchiveDebug
+          failOnError: false
+
+      - name: Delete Windows Release Install Archive artifact
+        uses: geekyeggo/delete-artifact@v1
+        with:
+          name: WindowsArchiveRelease
+          failOnError: false
+          
+        # all Ubuntu
+      - name: Delete Ubuntu Binaries artifact
+        uses: geekyeggo/delete-artifact@v1
+        with:
+          name: DebReleaseBinArchive
+          failOnError: false
+
+        # all RPM
+      - name: Delete Fedora Binaries artifact
+        uses: geekyeggo/delete-artifact@v1
+        with:
+          name: RpmReleaseBinArchive
+          failOnError: false
diff --git a/.github/workflows/fedora-build-test.yml b/.github/workflows/fedora-build-test.yml
deleted file mode 100644
index 6563dadee37e..000000000000
--- a/.github/workflows/fedora-build-test.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-# This is a basic workflow to help you get started with Actions
-
-name: Fedora checks
-
-# Controls when the action will run. 
-on:
-  # Triggers the workflow on push or pull request events but only for the master branch
-  push:
-    branches: [ master ]
-  pull_request:
-    branches: [ master ]
-
-  # Allows you to run this workflow manually from the Actions tab
-  workflow_dispatch:
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:        
-  fedora-build-test:
-    timeout-minutes: 40
-    runs-on: [self-hosted, linux, x64, fedora35]
-    strategy:
-      matrix:
-        config: [Debug, Release]
-        compiler: [Сlang 13, GCC 11]
-        include:
-          - compiler: Сlang 13
-            cxx-compiler: /usr/bin/clang++-13
-            c-compiler: /usr/bin/clang-13
-          - compiler: GCC 11
-            cxx-compiler: /usr/bin/g++
-            c-compiler: /usr/bin/gcc
-
-    steps:
-      # https://github.com/actions/checkout/issues/354#issuecomment-759282642
-      - name: Clear workspace
-        run: |
-          rm -rf ${{ github.workspace }} && mkdir ${{ github.workspace }}
-
-      - name: Checkout
-        uses: actions/checkout@v2
-        with:
-          submodules: recursive
-
-      - name: Install thirdparty libs
-        run: ./scripts/runner_install_thirdparty.sh
-
-      - name: Build
-        run: ./scripts/build_source.sh
-        env:
-          MESHRUS_BUILD_RELEASE: ${{ fromJSON('["OFF", "ON"]')[matrix.config == 'Release'] }}
-          MESHRUS_BUILD_DEBUG: ${{ fromJSON('["OFF", "ON"]')[matrix.config == 'Debug'] }}
-          CMAKE_CXX_COMPILER: ${{ matrix.cxx-compiler }}
-          # not realy needed
-          CMAKE_C_COMPILER: ${{ matrix.c-compiler }}
-
-      - name: Unit Tests
-        run: ./build/${{ matrix.config }}/bin/MRTest
-
-      - name: Python Tests
-        working-directory: ./build/${{ matrix.config }}/bin
-        run: python3 ./../../../scripts/run_python_test_script.py
-
-      - name: Clear workspace
-        run: |
-          rm -rf ${{ github.workspace }} && mkdir ${{ github.workspace }}
diff --git a/.github/workflows/ubuntu-build-test.yml b/.github/workflows/ubuntu-build-test.yml
deleted file mode 100644
index b0940ca1d13c..000000000000
--- a/.github/workflows/ubuntu-build-test.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-# This is a basic workflow to help you get started with Actions
-
-name: Ubuntu checks
-
-# Controls when the action will run. 
-on:
-  # Triggers the workflow on push or pull request events but only for the master branch
-  push:
-    branches: [ master ]
-  pull_request:
-    branches: [ master ]
-
-  # Allows you to run this workflow manually from the Actions tab
-  workflow_dispatch:
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
-  ubuntu-build-test:
-    timeout-minutes: 40
-    runs-on: [self-hosted, linux, x64, ubuntu-20-lts]
-    strategy:
-      matrix:
-        config: [Debug, Release]
-        compiler: [Сlang 11, GCC 10]
-        include:
-          - compiler: Сlang 11
-            cxx-compiler: /usr/bin/clang++-11
-            c-compiler: /usr/bin/clang-11
-          - compiler: GCC 10
-            cxx-compiler: /usr/bin/g++-10
-            c-compiler: /usr/bin/gcc-10
-
-    steps:
-      # https://github.com/actions/checkout/issues/354#issuecomment-759282642
-      - name: Clear workspace
-        run: |
-          rm -rf ${{ github.workspace }} && mkdir ${{ github.workspace }}
-
-      - name: Checkout
-        uses: actions/checkout@v2
-        with:
-          submodules: recursive
-
-      - name: Install thirdparty libs
-        run: ./scripts/runner_install_thirdparty.sh
-
-      - name: Build
-        run: ./scripts/build_source.sh
-        env:
-          MESHRUS_BUILD_RELEASE: ${{ fromJSON('["OFF", "ON"]')[matrix.config == 'Release'] }}
-          MESHRUS_BUILD_DEBUG: ${{ fromJSON('["OFF", "ON"]')[matrix.config == 'Debug'] }}
-          CMAKE_CXX_COMPILER: ${{ matrix.cxx-compiler }}
-          # not realy needed
-          CMAKE_C_COMPILER: ${{ matrix.c-compiler }}
-
-      - name: Unit Tests
-        run: ./build/${{ matrix.config }}/bin/MRTest
-        
-      - name: Python Tests
-        working-directory: ./build/${{ matrix.config }}/bin
-        run: python3 ./../../../scripts/run_python_test_script.py
-
-      - name: Clear workspace
-        run: |
-          rm -rf ${{ github.workspace }} && mkdir ${{ github.workspace }}
diff --git a/.github/workflows/windows-build-test.yml b/.github/workflows/windows-build-test.yml
deleted file mode 100644
index d127c4437481..000000000000
--- a/.github/workflows/windows-build-test.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-# This is a basic workflow to help you get started with Actions
-
-name: Windows checks
-
-# Controls when the action will run. 
-on:
-  # Triggers the workflow on push or pull request events but only for the master branch
-  push:
-    branches: [ master ]
-  pull_request:
-    branches: [ master ]
-
-  workflow_dispatch:
-
-jobs:
-  windows-build-test:
-    timeout-minutes: 40
-    runs-on: [self-hosted, windows, x64]
-    strategy:
-      matrix:
-        config: [Debug, Release]
-    steps:
-      - name: Clear workspace
-        run: |
-          Remove-Item -Path "${{ github.workspace }}\*" -Recurse -Force
-
-      - name: Checkout
-        uses: actions/checkout@v2
-        with:
-          submodules: recursive          
-        
-      - name: Update thirdparty
-        run: thirdparty\install.bat
-
-      - name: Integrate vcpkg
-        run: vcpkg integrate install
-        
-      - name: Build
-        run: py -3 scripts\build_script.py ${{ matrix.config }}
-        
-      - name: Unit Tests
-        run: py -3 scripts\run_unit_test_script.py ${{ matrix.config }}
-
-      - name: Python Tests
-        working-directory: source\x64\${{ matrix.config }}
-        run: py -3 ..\..\..\scripts\run_python_test_script.py
-
-      - name: Clear workspace
-        run: |
-          Remove-Item -Path "${{ github.workspace }}\*" -Recurse -Force
diff --git a/readme.md b/readme.md
index 5f6b5e01a60d..64c760682b7d 100644
--- a/readme.md
+++ b/readme.md
@@ -1,8 +1,6 @@
 # Welcome to the MeshLib!
 
-[![windows-build-test](https://github.com/MeshRUs/MeshLib/actions/workflows/windows-build-test.yml/badge.svg?branch=master)](https://github.com/MeshRUs/MeshLib/actions/workflows/windows-build-test.yml?branch=master)
-[![ubuntu-build-test](https://github.com/MeshRUs/MeshLib/actions/workflows/ubuntu-build-test.yml/badge.svg?branch=master)](https://github.com/MeshRUs/MeshLib/actions/workflows/ubuntu-build-test.yml?branch=master)
-[![fedora-build-test](https://github.com/MeshRUs/MeshLib/actions/workflows/fedora-build-test.yml/badge.svg?branch=master)](https://github.com/MeshRUs/MeshLib/actions/workflows/fedora-build-test.yml?branch=master)
+[![build-test-distribute](https://github.com/MeshRUs/MeshLib/actions/workflows/build-test-distribute.yml/badge.svg?branch=master)](https://github.com/MeshRUs/MeshLib/actions/workflows/build-test-distribute.yml?branch=master)
 
 
 ## Build with VS2019 on Windows
diff --git a/scripts/distribution.sh b/scripts/distribution.sh
index 1f40103b0a6e..ee0d602cd6a3 100755
--- a/scripts/distribution.sh
+++ b/scripts/distribution.sh
@@ -7,11 +7,6 @@
 # exit if any command failed
 set -eo pipefail
 
-# copy prebuilded libs if they exist
-if [ -d "/usr/local/lib/meshrus-thirdparty-lib/lib" ]; then
- cp -r /usr/local/lib/meshrus-thirdparty-lib/lib .
-fi
-
 if [ ! -f "./lib/libcpr.so" ]; then
  printf "Thirdparty build was not found. Building...\n"
  ./scripts/build_thirdparty.sh
@@ -37,11 +32,11 @@ MR_INSTALL_THIRDPARTY_INCLUDE_DIR="/usr/local/include/"
 MR_INSTALL_INCLUDE_DIR="/usr/local/include/MeshLib/"
 PYTHON_DIR="/usr/lib/python3"
 
-mkdir -p distr/meshrus-dev/DEBIAN
-mkdir -p "distr/meshrus-dev${MR_INSTALL_LIB_DIR}"
-mkdir -p "distr/meshrus-dev${MR_INSTALL_RES_DIR}"
-mkdir -p "distr/meshrus-dev${MR_INSTALL_INCLUDE_DIR}"
-mkdir -p "distr/meshrus-dev${MR_INSTALL_THIRDPARTY_INCLUDE_DIR}"
+mkdir -p distr/meshlib-dev/DEBIAN
+mkdir -p "distr/meshlib-dev${MR_INSTALL_LIB_DIR}"
+mkdir -p "distr/meshlib-dev${MR_INSTALL_RES_DIR}"
+mkdir -p "distr/meshlib-dev${MR_INSTALL_INCLUDE_DIR}"
+mkdir -p "distr/meshlib-dev${MR_INSTALL_THIRDPARTY_INCLUDE_DIR}"
 
 if [ ${1} ]; then
   echo ${1:1} > build/Release/bin/mr.version
@@ -50,8 +45,8 @@ else
 fi
 
 #create control file
-CONTROL_FILE="./distr/meshrus-dev/DEBIAN/control"
-echo "Package: meshrus-dev" > "$CONTROL_FILE"
+CONTROL_FILE="./distr/meshlib-dev/DEBIAN/control"
+echo "Package: meshlib-dev" > "$CONTROL_FILE"
 echo "Essential: no" >> "$CONTROL_FILE"
 echo "Priority: optional" >> "$CONTROL_FILE"
 echo "Section: model" >> "$CONTROL_FILE"
@@ -74,48 +69,45 @@ do
 done
 echo "${DEPENDS_LINE}" >> "$CONTROL_FILE"
 
-cp "./scripts/preinstall_trick.sh" ./distr/meshrus-dev/DEBIAN/preinst
-chmod +x ./distr/meshrus-dev/DEBIAN/preinst
+cp "./scripts/preinstall_trick.sh" ./distr/meshlib-dev/DEBIAN/preinst
+chmod +x ./distr/meshlib-dev/DEBIAN/preinst
 
-cp "./scripts/postinstall.sh" ./distr/meshrus-dev/DEBIAN/postinst
-chmod +x ./distr/meshrus-dev/DEBIAN/postinst
+cp "./scripts/postinstall.sh" ./distr/meshlib-dev/DEBIAN/postinst
+chmod +x ./distr/meshlib-dev/DEBIAN/postinst
 
 #copy lib dir
 CURRENT_DIR="`pwd`"
 cd "${MR_LIB_DIR}"
-find . -name '*.so*' -type f,l -exec cp -fP \{\} "${CURRENT_DIR}/distr/meshrus-dev${MR_INSTALL_LIB_DIR}" \;
+find . -name '*.so*' -type f,l -exec cp -fP \{\} "${CURRENT_DIR}/distr/meshlib-dev${MR_INSTALL_LIB_DIR}" \;
 cd -
 printf "Thirdparty libs copy done\n"
 
 #copy libs
-cp -r build/Release/bin/*.so "distr/meshrus-dev${MR_INSTALL_LIB_DIR}"
+cp -r build/Release/bin/*.so "distr/meshlib-dev${MR_INSTALL_LIB_DIR}"
 printf "MR libs copy done\n"
 
 #copy verison file
-cp build/Release/bin/mr.version "distr/meshrus-dev${MR_INSTALL_RES_DIR}"
+cp build/Release/bin/mr.version "distr/meshlib-dev${MR_INSTALL_RES_DIR}"
 printf "MR version copy done\n"
 
 #copy headers
 cd "${MR_LIB_DIR}"
-find . -name '*.h' -type f -exec cp -f --recursive --parents \{\} "${CURRENT_DIR}/distr/meshrus-dev${MR_INSTALL_THIRDPARTY_INCLUDE_DIR}" \;
+find . -name '*.h' -type f -exec cp -f --recursive --parents \{\} "${CURRENT_DIR}/distr/meshlib-dev${MR_INSTALL_THIRDPARTY_INCLUDE_DIR}" \;
 cd -
 cd thirdparty/eigen
-find . -name '*.h' -type f -exec cp -f --recursive --parents \{\} "${CURRENT_DIR}/distr/meshrus-dev${MR_INSTALL_THIRDPARTY_INCLUDE_DIR}" \;
+find . -name '*.h' -type f -exec cp -f --recursive --parents \{\} "${CURRENT_DIR}/distr/meshlib-dev${MR_INSTALL_THIRDPARTY_INCLUDE_DIR}" \;
 cd -
 cd source
-find . -name '*.h' -type f -exec cp -f --recursive --parents \{\} "${CURRENT_DIR}/distr/meshrus-dev${MR_INSTALL_INCLUDE_DIR}" \;
+find . -name '*.h' -type f -exec cp -f --recursive --parents \{\} "${CURRENT_DIR}/distr/meshlib-dev${MR_INSTALL_INCLUDE_DIR}" \;
 cd -
 printf "Headers copy done\n"
 
 #call dpkg
 cd distr
-dpkg-deb --build ./meshrus-dev
+dpkg-deb --build ./meshlib-dev
 
-if [ -f "./meshrus-dev.deb" ]; then
+if [ -f "./meshlib-dev.deb" ]; then
  printf "Dev deb package has been built.\n"
- if [ ${1} ]; then
-  cp ./meshrus-dev.deb "${1}"
- fi
 else
  printf "Failed to build dev.deb package!"
  exit 8
diff --git a/scripts/zip_distribution.py b/scripts/zip_distribution.py
new file mode 100644
index 000000000000..f370219eb44f
--- /dev/null
+++ b/scripts/zip_distribution.py
@@ -0,0 +1,18 @@
+import os
+import sys
+
+if (len(sys.argv)<2):
+	print("No path to distribute given")
+	sys.exit(1)
+
+res_file = str(sys.argv[1])
+
+base_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),'..')
+path_to_install_folder = os.path.join(base_path,'install')
+
+zip_cmd = 'tar -a -c -f '+ ' ' + res_file + ' install' 
+
+os.chdir(base_path)
+res = os.system(zip_cmd)
+
+sys.exit(res)
\ No newline at end of file