diff --git a/ShellB3/shallbethree.sh b/ShellB3/shallbethree.sh
index de33c9b1b7be254a6180fc130b26f8f99904f3aa..be864eb444d80b586f76e9bc59fc60f53dc64210 100755
--- a/ShellB3/shallbethree.sh
+++ b/ShellB3/shallbethree.sh
@@ -993,10 +993,10 @@ export PYPY3FSVER=3.5
 export PY37VER=3.7.10
 export PY37FSVER=3.7
 
-export PY38VER=3.8.9
+export PY38VER=3.8.10
 export PY38FSVER=3.8
 
-export PY39VER=3.9.3
+export PY39VER=3.9.5
 export PY39FSVER=3.9
 
 export LLVMSIMPLEVER=$(echo ${LLVMVER} | cut -c-3)
@@ -1027,7 +1027,7 @@ if [ -n "$COTS_HOME" ]; then
 fi
 
 export OPENBLASVER=0.3.13
-export NUMPYVER=1.20.1
+export NUMPYVER=1.20.3
 
 export JASPERVER=2.0.14
 export PYGRIBVER=2.1.3
@@ -1057,7 +1057,7 @@ export GNUREADLINEVER=8.0.0
 export SWIGVER=3.0.12
 export SUITESPARSEVER=5.8.1
 export METISVER=5.1.0
-export SCIPYVER=1.6.1
+export SCIPYVER=1.6.3
 
 # optional packages
 export SCIKITLEARNVER=0.24.1
@@ -1080,7 +1080,7 @@ export PIXMANVER=0.40.0
 export CAIROVER=1.16.0
 export PYCAIROVER=1.20.0
 export MOCKVER=4.0.3
-export MATPLOTLIBVER=3.3.4
+export MATPLOTLIBVER=3.4.2
 export MPLD3VER=0.5.2
 export MPLH5CANVASVER=0.7
 export GEOSVER=3.8.1
@@ -1091,7 +1091,7 @@ export CDF4VER=4.7.4
 export CDF4CXXVER=4.3.1
 export CDF4FORVER=4.5.3
 export PYCDFVER=0.6-3b
-export NETCDF4PYVER=1.5.5.1
+export NETCDF4PYVER=1.5.6
 export NCCMPVER=1.8.9.0
 
 export SDL2VER=2.0.14
@@ -1221,7 +1221,7 @@ export LIBFFIVER=3.3
 export PYCPARSERVER=2.20
 export CFFIVER=1.14.5
 export OLEFILEVER=0.46
-export PILLOWVER=8.1.0
+export PILLOWVER=8.2.0
 export IMAGEIOVER=2.9.0
 export VISPYVER=0.6.6
 
@@ -4210,36 +4210,6 @@ diff -ru numpy/distutils/system_info.py numpy/distutils/system_info.py
          return exts
 
      def check_libs(self, lib_dirs, libs, opt_libs=[]):
-@@ -2328,13 +2328,20 @@
-                'x86_64' in get_platform() or \\
-                'i386' in platform.platform():
-                 intel = 1
-+                arm = 0
-+            elif "arm" in get_platform() or 'aarch' in get_platform():
-+                intel = 0
-+                arm = 1
-             else:
-                 intel = 0
-+                arm = 0
-             if (os.path.exists('/System/Library/Frameworks'
-                               '/Accelerate.framework/') and
-                     'accelerate' in libraries):
-                 if intel:
-                     args.extend(['-msse3'])
-+                elif arm:
-+                    pass
-                 else:
-                     args.extend(['-faltivec'])
-                 args.extend([
-@@ -2345,6 +2352,8 @@
-                       'veclib' in libraries):
-                 if intel:
-                     args.extend(['-msse3'])
-+                elif arm:
-+                    pass
-                 else:
-                     args.extend(['-faltivec'])
-                 args.extend([
 diff -ru numpy/distutils/fcompiler/gnu.py numpy/distutils/fcompiler/gnu.py
 --- numpy/distutils/fcompiler/gnu.py      2017-07-01 09:18:08.000000000 -0500
 +++ numpy/distutils/fcompiler/gnu.py 2017-08-29 12:01:04.000000000 -0500
@@ -6594,7 +6564,8 @@ mk_qt5() {
     fi
     export EXTRAPARMS="${EXTRAPARMS} -no-openssl -securetransport"
     export EXTRAPARMS="${EXTRAPARMS} -sdk macosx${MACOSX_DEPLOYMENT_TARGET} QMAKE_MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET}"
-    export EXTRAPARMS="${EXTRAPARMS} QMAKE_FRAMEWORK_VERSION=$( python3 -c "import sys,os; print(os.environ['QT5USEVER'].split('-')[-1])" )" #this sets the framework internal version path
+    export SB3QT5VER=$( python3 -c "import sys,os; print(os.environ['QT5USEVER'].split('-')[-1])" )
+    export EXTRAPARMS="${EXTRAPARMS} QMAKE_FRAMEWORK_VERSION=${SB3QT5VER}" #this sets the framework internal version path
     export EXTRAPARMS="${EXTRAPARMS} -R ${BASE}"
     if true ; then
       export EXTRAPARMS="${EXTRAPARMS} -framework"
@@ -8107,8 +8078,10 @@ PATCH
     qt5_install_fonts
   elif isDarwin ; then
     #fix cmake framework paths to have full version
-    ( find ${BASE}/lib/cmake/ -print0 -type f -name "Qt5*.cmake" | xargs -0 sed -i.old -e s,Versions/5/,Versions/$( python3 -c "import sys,os; print(os.environ['QT5USEVER'].split('-')[-1])" )/,g \
-      && find ${BASE}/lib/cmake/ -print0 -type f -name "Qt5*.cmake.old" | xargs -0 rm -f ) || oops "Failed to patch cmake files"
+      find "${BASE}/"lib/cmake -name "Qt5*.cmake" -type f -print0 | xargs -0 sed -i.old -e "s,Versions/5/,Versions/${SB3QT5VER}/,g" \
+         || oops "Failed to patch cmake files"
+      find "${BASE}/"lib/cmake -name "Qt5*.cmake.old" -type f -print0 | xargs -0 rm -f \
+         || oops "Failed to cleanup cmake files"
   fi
 
   qt5_repath
@@ -9097,12 +9070,14 @@ mk_pillow(){
   make_patch Pillow <<EOF
 --- setup.py 2012-06-20 23:40:51.000000000 -0500
 +++ setup.py  2012-06-20 23:41:29.000000000 -0500
-@@ -29,13 +29,13 @@
+@@ -28,15 +28,15 @@
  
  NAME = "Pillow"
  PILLOW_VERSION = get_version()
 -FREETYPE_ROOT = None
 +FREETYPE_ROOT = os.environ.get("FREETYPE", "$BASE")
+ HARFBUZZ_ROOT = None
+ FRIBIDI_ROOT = None
  IMAGEQUANT_ROOT = None
  JPEG2K_ROOT = None
 -JPEG_ROOT = None
@@ -9112,9 +9087,9 @@ mk_pillow(){
 -ZLIB_ROOT = None
 +TIFF_ROOT = os.environ.get("TIFF", "$BASE")
 +ZLIB_ROOT = os.path.join(os.environ.get("ZLIB", "$BASE"),"lib"), os.path.join(os.environ.get("ZLIB", "$BASE"),"include")
+ FUZZING_BUILD = "LIB_FUZZING_ENGINE" in os.environ
  
- 
- if sys.platform == "win32" and sys.version_info >= (3, 9):
+ if sys.platform == "win32" and sys.version_info >= (3, 10):
 @@ -136,7 +136,7 @@
                  "/usr/lib", "python%s" % sys.version[:3], "config"
                  ))
diff --git a/ShellB3/src/Python-3.8.10.tar.xz b/ShellB3/src/Python-3.8.10.tar.xz
new file mode 100644
index 0000000000000000000000000000000000000000..b6ff6da538624c3e89fe214f7bbaabe8faa709be
--- /dev/null
+++ b/ShellB3/src/Python-3.8.10.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9
+size 18433456
diff --git a/ShellB3/src/Python-3.8.9.tar.xz b/ShellB3/src/Python-3.8.9.tar.xz
deleted file mode 100644
index d2be03cc0755ac2ca7db708e7b84e16ac5f1d515..0000000000000000000000000000000000000000
--- a/ShellB3/src/Python-3.8.9.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5e391f3ec45da2954419cab0beaefd8be38895ea5ce33577c3ec14940c4b9572
-size 18271948
diff --git a/ShellB3/src/Python-3.9.3.tar.xz b/ShellB3/src/Python-3.9.3.tar.xz
deleted file mode 100644
index 3e77d372f32f25ef0bc9fc5c3bc3a43f792a7497..0000000000000000000000000000000000000000
--- a/ShellB3/src/Python-3.9.3.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:30811039c65e04c14fc698e423947e464f9316e69fb44610bd38446046bb82b5
-size 18899676
diff --git a/ShellB3/src/Python-3.9.5.tar.xz b/ShellB3/src/Python-3.9.5.tar.xz
new file mode 100644
index 0000000000000000000000000000000000000000..61d3add437b5c52cdadd9de3289b25d55aac2b6b
--- /dev/null
+++ b/ShellB3/src/Python-3.9.5.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0c5a140665436ec3dbfbb79e2dfb6d192655f26ef4a29aeffcb6d1820d716d83
+size 19058600
diff --git a/ShellB3/src/numpy-1.20.1.zip b/ShellB3/src/numpy-1.20.1.zip
deleted file mode 100644
index c0e9eb3c938b41686c80f9f86d79aef1bbbd7113..0000000000000000000000000000000000000000
--- a/ShellB3/src/numpy-1.20.1.zip
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3bc63486a870294683980d76ec1e3efc786295ae00128f9ea38e2c6e74d5a60a
-size 7750776
diff --git a/ShellB3/src/numpy-1.20.3.zip b/ShellB3/src/numpy-1.20.3.zip
new file mode 100644
index 0000000000000000000000000000000000000000..a129ec13d81db4736923f0d65b6c2b51a3a1ae8a
--- /dev/null
+++ b/ShellB3/src/numpy-1.20.3.zip
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69
+size 7761912
diff --git a/ShellB3/src/optional/Pillow-8.1.0.tar.gz b/ShellB3/src/optional/Pillow-8.1.0.tar.gz
deleted file mode 100644
index 9cd3ee6c674142746a4062286b9d51c90411c3bd..0000000000000000000000000000000000000000
--- a/ShellB3/src/optional/Pillow-8.1.0.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:887668e792b7edbfb1d3c9d8b5d8c859269a0f0eba4dda562adb95500f60dbba
-size 44934336
diff --git a/ShellB3/src/optional/Pillow-8.2.0.tar.gz b/ShellB3/src/optional/Pillow-8.2.0.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a3d38f23527752e81bada02de4f4e6dd601290bf
--- /dev/null
+++ b/ShellB3/src/optional/Pillow-8.2.0.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a787ab10d7bb5494e5f76536ac460741788f1fbce851068d73a87ca7c35fc3e1
+size 47900239
diff --git a/ShellB3/src/optional/matplotlib-3.3.4.tar.gz b/ShellB3/src/optional/matplotlib-3.3.4.tar.gz
deleted file mode 100644
index 850705e393f4c33858d0bd93e8393c43c8085e7b..0000000000000000000000000000000000000000
--- a/ShellB3/src/optional/matplotlib-3.3.4.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3e477db76c22929e4c6876c44f88d790aacdf3c3f8f3a90cb1975c0bf37825b0
-size 37941665
diff --git a/ShellB3/src/optional/matplotlib-3.4.2.tar.gz b/ShellB3/src/optional/matplotlib-3.4.2.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..725dcb81ae2e4d4d4e68135b81a5d5dce6339774
--- /dev/null
+++ b/ShellB3/src/optional/matplotlib-3.4.2.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d8d994cefdff9aaba45166eb3de4f5211adb4accac85cbf97137e98f26ea0219
+size 37308683
diff --git a/ShellB3/src/optional/netCDF4-1.5.5.1.tar.gz b/ShellB3/src/optional/netCDF4-1.5.5.1.tar.gz
deleted file mode 100644
index d509c21ee8bbaa1d404458b63f66303e2ee09eec..0000000000000000000000000000000000000000
--- a/ShellB3/src/optional/netCDF4-1.5.5.1.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d957e55a667d1fc651ddef22fea10ded0f142b7d9dbbf4d08c0012d32f445abd
-size 793755
diff --git a/ShellB3/src/optional/netCDF4-1.5.6.tar.gz b/ShellB3/src/optional/netCDF4-1.5.6.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b2751a2bffcc7467731c940add3465ce37a7c2f0
--- /dev/null
+++ b/ShellB3/src/optional/netCDF4-1.5.6.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7577f4656af8431b2fa6b6797acb45f81fa1890120e9123b3645e14765da5a7c
+size 763732
diff --git a/ShellB3/src/scipy-1.6.1.tar.gz b/ShellB3/src/scipy-1.6.1.tar.gz
deleted file mode 100644
index 31400e9d5a2bd4a1fb5078abd2a06a88556436df..0000000000000000000000000000000000000000
--- a/ShellB3/src/scipy-1.6.1.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c4fceb864890b6168e79b0e714c585dbe2fd4222768ee90bc1aa0f8218691b11
-size 27346828
diff --git a/ShellB3/src/scipy-1.6.3.tar.gz b/ShellB3/src/scipy-1.6.3.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..414e37476a4be32137eaa1d5d3418cc1f2d9b10d
--- /dev/null
+++ b/ShellB3/src/scipy-1.6.3.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a75b014d3294fce26852a9d04ea27b5671d86736beb34acdfc05859246260707
+size 27187987