diff --git a/ShellB3/shallbethree.sh b/ShellB3/shallbethree.sh
index f7e1db82349f3d306b1a372a10deac43f6ac91a7..9d9f99a63e8c3923655fddc10c34a2503c663de1 100755
--- a/ShellB3/shallbethree.sh
+++ b/ShellB3/shallbethree.sh
@@ -597,6 +597,8 @@ export TORNADOVER=4.3
 export NOSEVER=1.3.7
 export SIXVER=1.10.0
 export BPSMHVER=3.4.0.2 # backports.ssl_match_hostname used by matplotlib webagg
+export BPABCVER=0.4
+export SINGLEDISPATCHVER=3.4.0.3
 export VIRTVER=13.1.2
 export PYOPENGLVER=3.1.1a1
 export LIBFFIVER=3.2.1
@@ -3737,7 +3739,9 @@ mk_six() {
 # more matplotlib
 mk_backports() {
   resume_tracker && return 0
-  _setup_build_install backports.ssl_match_hostname src/optional/backports.ssl_match_hostname-${BPSMHVER}.tar.gz backports.ssl_match_hostname-${BPSMHVER}
+  _setup_build_install backports.ssl_match_hostname src/optional/backports.ssl_match_hostname-${BPSMHVER}.tar.gz backports.ssl_match_hostname-${BPSMHVER} || oops "Failed backports ssl"
+  _setup_build_install backports_abc src/optional/backports_abc-${BPABCVER}.tar.gz backports_abc-${BPABCVER} || oops "failed backports abc"
+  _setup_build_install singledispatch src/optional/singledispatch-${SINGLEDISPATCHVER}.tar.gz singledispatch-${SINGLEDISPATCHVER} || oops "failed backports singledispatch"
 }
 
 mk_vispy() {
diff --git a/ShellB3/src/optional/backports_abc-0.4.tar.gz b/ShellB3/src/optional/backports_abc-0.4.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..46e2f00fad5b6c92bae0606ceb2cd351b91e7827
Binary files /dev/null and b/ShellB3/src/optional/backports_abc-0.4.tar.gz differ
diff --git a/ShellB3/src/optional/singledispatch-3.4.0.3.tar.gz b/ShellB3/src/optional/singledispatch-3.4.0.3.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..18b8e6e88422a546b9e88ae4604e8ae19e24f4af
Binary files /dev/null and b/ShellB3/src/optional/singledispatch-3.4.0.3.tar.gz differ