diff --git a/.idea/cody_history.xml b/.idea/cody_history.xml
index 3653055..32021fe 100644
--- a/.idea/cody_history.xml
+++ b/.idea/cody_history.xml
@@ -121,6 +121,102 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/prj/pip_reqs.txt b/prj/pip_reqs.txt
deleted file mode 100644
index 2b3123d..0000000
--- a/prj/pip_reqs.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-astroid==3.1.0
-contourpy==1.2.1
-cycler==0.12.1
-dill==0.3.8
-fonttools==4.51.0
-iniconfig==2.0.0
-isort==5.13.2
-kiwisolver==1.4.5
-matplotlib==3.8.4
-mccabe==0.7.0
-mypy==1.10.0
-mypy-extensions==1.0.0
-numpy==1.26.4
-packaging==24.0
-pillow==10.3.0
-platformdirs==4.2.1
-pluggy==1.5.0
-pylint==3.1.0
-pyparsing==3.1.2
-pytest==8.2.0
-python-dateutil==2.9.0.post0
-setuptools==69.5.1
-six==1.16.0
-tomlkit==0.12.5
-typing_extensions==4.11.0
diff --git a/prj/pip_reqs_base.txt b/prj/pip_reqs_base.txt
deleted file mode 100644
index b6902e7..0000000
--- a/prj/pip_reqs_base.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-# direct dependencies used by project
-# for snapshot of all (recursive) dependencies in precise versions tested - see "pip_reqs.txt"
-
-# auto tests
-pytest
-
-# quality control
-mypy
-pylint
-
-numpy
-matplotlib
diff --git a/prj/script/pip_reqs_export.cmd b/prj/script/pip_reqs_export.cmd
index 351e56d..738e779 100644
--- a/prj/script/pip_reqs_export.cmd
+++ b/prj/script/pip_reqs_export.cmd
@@ -1,4 +1,4 @@
-SET "script_dir=%~dp0"
-SET "script_dir=%script_dir:~0,-1%"
+@echo off
+call common.cmd
-CALL %script_dir%\venv\Scripts\pip freeze > ..\pip_reqs.txt
+CALL %venv_dir%\Scripts\pip freeze > %pip_reqs_dir%\pip_reqs.txt
diff --git a/prj/script/pip_reqs_export.sh b/prj/script/pip_reqs_export.sh
index 9d00100..899210c 100755
--- a/prj/script/pip_reqs_export.sh
+++ b/prj/script/pip_reqs_export.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-script_dir=$(dirname "$0")
+source common.sh
# persist the exact dependencies (recursively)
-$script_dir/venv/bin/pip freeze > $script_dir/../pip_reqs.txt
+${venv_dir}/bin/pip freeze > ${pip_reqs_dir}/pip_reqs.txt
diff --git a/prj/script/pip_reqs_install.cmd b/prj/script/pip_reqs_install.cmd
index 5ab19bb..3c0caa1 100644
--- a/prj/script/pip_reqs_install.cmd
+++ b/prj/script/pip_reqs_install.cmd
@@ -1,21 +1,12 @@
-SET "script_dir=%~dp0"
-SET "script_dir=%script_dir:~0,-1%"
+@echo off
+call common.cmd
-CALL %script_dir%\venv\Scripts\python -m pip install --upgrade pip
-CALl %script_dir%\venv\Scripts\pip install --upgrade setuptools
+CALL %venv_dir%\Scripts\python -m pip install --upgrade pip
+CALl %venv_dir%\Scripts\pip install --upgrade setuptools
-REM Latest
-REM ------
-REM install (latest versions of) dependencies
-REM ------
-CAll %script_dir%\venv\Scripts\pip install -r ..\pip_reqs_base.txt
+REM 1) install latest (versions of) dependencies
+CALL ${venv_dir}/bin/pip install -r ${pip_reqs_dir}/pip_reqs_base.txt
-REM Exact
-REM ------
-REM alternatively, use this instead to install exact (recursive) dependencies previously 'frozen' by
-REM previous call to 'pip_reqs_export.sh'
-REM
-REM recommended for production
-REM ------
-REM CAll .\venv\Scripts\pip install -r ..\pip_reqs.txt
+REM 2) install exact (versions of) dependencies
+REM CALL ${venv_dir}/bin/pip install -r ../pip_reqs.txt
diff --git a/prj/script/pip_reqs_install.sh b/prj/script/pip_reqs_install.sh
index 8283651..2350314 100755
--- a/prj/script/pip_reqs_install.sh
+++ b/prj/script/pip_reqs_install.sh
@@ -1,20 +1,17 @@
#!/bin/bash
-script_dir=$(dirname "$0")
+source common.sh
-$script_dir/venv/bin/python -m pip install --upgrade pip
-$script_dir/venv/bin/pip install --upgrade setuptools
+${venv_dir}/bin/python -m pip install --upgrade pip
+${venv_dir}/bin/pip install --upgrade setuptools
-# Latest
-# ------
-# install (latest versions of) dependencies
-$script_dir/venv/bin/pip install -r $script_dir/../pip_reqs_base.txt
-# Exact
-# ------
-# alternatively, use this instead to install exact (recursive) dependencies previously 'frozen' by
-# previous call to 'pip_reqs_export.sh'
-#
+# 1) install latest (versions of) dependencies
+${venv_dir}/bin/pip install -r ${pip_reqs_dir}/pip_reqs_base.txt
+
+# 2) install exact (versions of) dependencies
+#./venv/bin/pip install -r ../pip_reqs.txt
+
+# eg from previous call to 'pip_reqs_export.sh'
# recommended for production
-#./venv/bin/pip install -r ../pip_reqs_base.txt
diff --git a/prj/script/venv_create.cmd b/prj/script/venv_create.cmd
index 056b217..a094578 100644
--- a/prj/script/venv_create.cmd
+++ b/prj/script/venv_create.cmd
@@ -1,13 +1,14 @@
REM set HTTPS_PROXY= http://10.110.15.6:8080
-SET "script_dir=%~dp0"
-SET "script_dir=%script_dir:~0,-1%"
+@echo off
+call common.cmd
+
CALL python -m venv %script_dir%\venv
echo ".....virtual environment created"
-CALL %script_dir%\venv\Scripts\activate
+CALL %venv_dir%\Scripts\activate
echo ".....pip reqs installing...."
@@ -15,9 +16,9 @@ CALL %script_dir%\pip_reqs_install.cmd
echo ".....pip reqs installed"
-CALL %script_dir%\\venv\Scripts\deactivate
+CALL %venv_dir%\Scripts\deactivate
echo ".....venv ready"
-pause
\ No newline at end of file
+pause
diff --git a/prj/script/venv_create.sh b/prj/script/venv_create.sh
index 1fcbd63..b6052d9 100755
--- a/prj/script/venv_create.sh
+++ b/prj/script/venv_create.sh
@@ -1,16 +1,18 @@
#!/bin/bash
-script_dir=$(dirname "$0")
+source ./common.sh
-python3 -m venv $script_dir/venv
+
+python3 -m venv ${venv_dir}
echo ".....virtual environment created"
-source $script_dir/venv/bin/activate
+source ${venv_dir}/bin/activate
echo ".....pip reqs installing...."
-source $script_dir/pip_reqs_install.sh
+
+source ${script_dir}/pip_reqs_install.sh
echo ".....pip reqs installed"