diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f5f751823e0922e38a9879cecd5234550370dfb5..9ba133c8c546842580160070ae9e40ba6984da68 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,7 +11,7 @@ debian_stretch_x86_64_deb:
      - ./tar_em_up.sh -B
      - cd ..
      - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive dpkg --force-all -i pd-l2ork*.deb > /dev/null
-     - valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio -send "init dollarzero \$0" scripts/regression_tests.pd
+     - valgrind pd-l2ork -noprefs -nogui -nrt -noaudio -send "init dollarzero \$0" scripts/regression_tests.pd
      - valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio scripts/external-tests.pd
    artifacts:
      name: "$CI_RUNNER_DESCRIPTION"
@@ -33,7 +33,7 @@ ubuntu_14.04_i386_deb:
      - cd ..
      - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive dpkg --force-all -i pd-l2ork*.deb > /dev/null
      - cd scripts
-     - valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio -send "init dollarzero \$0" regression_tests.pd
+     - valgrind pd-l2ork -noprefs -nogui -nrt -noaudio -send "init dollarzero \$0" regression_tests.pd
      - valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio external-tests.pd
    artifacts:
      name: "$CI_RUNNER_DESCRIPTION"
@@ -55,7 +55,7 @@ ubuntu_14.04_x86_64_deb:
      - cd ..
      - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive dpkg --force-all -i pd-l2ork*.deb > /dev/null
      - cd scripts
-     - valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio -send "init dollarzero \$0" regression_tests.pd
+     - valgrind pd-l2ork -noprefs -nogui -nrt -noaudio -send "init dollarzero \$0" regression_tests.pd
      - valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio external-tests.pd
    artifacts:
      name: "$CI_RUNNER_DESCRIPTION"
@@ -77,7 +77,7 @@ ubuntu_16.04_x86_64_deb:
      - cd ..
      - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive dpkg --force-all -i pd-l2ork*.deb > /dev/null
      - cd scripts
-     - valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio -send "init dollarzero \$0" regression_tests.pd
+     - valgrind pd-l2ork -noprefs -nogui -nrt -noaudio -send "init dollarzero \$0" regression_tests.pd
      - valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio external-tests.pd
    artifacts:
      name: "$CI_RUNNER_DESCRIPTION"
@@ -95,7 +95,7 @@ osx_10.11_x86_64_dmg:
      - cd l2ork_addons
      - ./tar_em_up.sh -X
      - cd ../scripts
-     - ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nostdpath -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
+     - ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
      - ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nostdpath -nogui -noaudio external-tests.pd
    artifacts:
      name: "$CI_RUNNER_DESCRIPTION"
@@ -113,7 +113,7 @@ osx_10.8_x86_64_dmg:
      - cd l2ork_addons
      - osx_version=10.8 ./tar_em_up.sh -X
      - cd ../scripts
-     - ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nostdpath -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
+     - ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
      - ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nostdpath -nogui -noaudio external-tests.pd
    artifacts:
      name: "$CI_RUNNER_DESCRIPTION"
@@ -130,8 +130,8 @@ windows_i386_innosetup:
     - cd l2ork_addons
     - ./tar_em_up.sh -Z
     - cd ../scripts
-    - ../packages/win32_inno/build/bin/pd.exe -noprefs -nostdpath -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
-    - ../packages/win32_inno/build/bin/pd.exe -noprefs -nostdpath -nogui -noaudio external-tests.pd
+    - ../packages/win32_inno/build/bin/pd.com -noprefs -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
+    - ../packages/win32_inno/build/bin/pd.com -noprefs -nostdpath -nogui -noaudio external-tests.pd
   artifacts:
     name: "$CI_RUNNER_DESCRIPTION"
     expire_in: 1 day
@@ -152,7 +152,7 @@ raspbian_stretch_armv7l_deb:
      - ./tar_em_up.sh -r
      - cd ..
      - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive dpkg --force-all -i pd-l2ork*.deb > /dev/null
-     - valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio -send "init dollarzero \$0" scripts/regression_tests.pd
+     - valgrind pd-l2ork -noprefs -nogui -nrt -noaudio -send "init dollarzero \$0" scripts/regression_tests.pd
      - valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio scripts/external-tests.pd
    artifacts:
      name: "$CI_RUNNER_DESCRIPTION"
diff --git a/scripts/regression_tests.pd b/scripts/regression_tests.pd
index fd01b20169d7d4176f1b79e030b9f76232f6ba78..da3e93df4993fac789845fc220a90fbeec443e13 100644
--- a/scripts/regression_tests.pd
+++ b/scripts/regression_tests.pd
@@ -1,13 +1,12 @@
-#N canvas 3 60 749 571 12;
+#N canvas 9 118 749 571 12;
 #X obj 465 281 r \$0-result;
-#X obj 159 179 bng 31 250 50 0 empty empty Run_all 39 13 0 12 -262144
+#X obj 212 239 bng 31 250 50 0 empty empty Run_all 39 13 0 12 -262144
 -1 -1;
 #X obj 56 25 r init;
 #X obj 345 191 route dollarzero;
-#X obj 56 120 trigger bang bang anything;
-#X obj 145 221 rtest msg_dollarzero;
-#X obj 145 276 rtest msg_dollarzero_semi;
-#X obj 145 332 rtest msg_click;
+#X obj 198 281 rtest msg_dollarzero;
+#X obj 198 336 rtest msg_dollarzero_semi;
+#X obj 198 392 rtest msg_click;
 #X obj 345 216 rtest binbuf_dollarzero;
 #X text 117 25 <- we start Pd with the -send "init etc." flag. This
 will automatically start the tests and allow us to send a comma-separated
@@ -19,48 +18,70 @@ is handy for some binbuf tests.;
 #X text 536 150 <- we have to escape the arg;
 #X text 556 190 escape it in a comment.;
 #X text 556 170 in bash but we can't;
-#X obj 145 388 rtest unpost_sanity;
-#X obj 145 444 rtest unpost_error;
-#X obj 145 495 rtest unpost_print;
-#X obj 145 546 rtest unpost_long_message;
-#X obj 145 599 rtest makefilename_double_percent;
-#X obj 145 650 rtest makefilename_code_coverage;
+#X obj 198 448 rtest unpost_sanity;
+#X obj 198 504 rtest unpost_error;
+#X obj 198 555 rtest unpost_print;
+#X obj 198 606 rtest unpost_long_message;
+#X obj 198 659 rtest makefilename_double_percent;
+#X obj 198 710 rtest makefilename_code_coverage;
 #N canvas 461 242 450 323 (subpatch) 0;
-#X restore 148 1315 pd;
-#X obj 145 701 rtest makefilename_default;
-#X obj 145 752 rtest makefilename_default_bang;
-#X obj 145 803 rtest makefilename_float;
-#X obj 145 854 rtest makefilename_symbol;
-#X obj 145 905 rtest makefilename_bang;
-#X obj 145 956 rtest drawtext-typecheck;
+#X restore 201 1715 pd;
+#X obj 198 761 rtest makefilename_default;
+#X obj 198 812 rtest makefilename_default_bang;
+#X obj 198 863 rtest makefilename_float;
+#X obj 198 914 rtest makefilename_symbol;
+#X obj 198 965 rtest makefilename_bang;
+#X obj 198 1016 rtest drawtext-typecheck;
 #X obj 465 308 utils/print-result;
-#X obj 56 151 utils/quit-if-nogui;
-#X obj 145 1011 rtest list_cat_clear;
-#X obj 145 1066 rtest list_cat_anything;
-#X obj 145 1121 rtest list_cat_reentrancy;
-#X obj 145 1176 rtest canvas_f;
-#X connect 0 0 28 0;
-#X connect 1 0 5 0;
-#X connect 2 0 4 0;
-#X connect 3 0 8 0;
-#X connect 4 0 29 0;
-#X connect 4 1 5 0;
-#X connect 4 2 3 0;
+#X obj 56 231 utils/quit-if-nogui;
+#X obj 198 1071 rtest list_cat_clear;
+#X obj 198 1126 rtest list_cat_anything;
+#X obj 198 1181 rtest list_cat_reentrancy;
+#X obj 198 1236 rtest canvas_f;
+#X obj 198 1406 rtest cxc_hex2dec_empty_symbol;
+#X obj 198 1466 rtest cxc_hex2dec_invalid;
+#X obj 198 1526 rtest cxc_hex2dec_overflow;
+#X obj 198 1586 rtest cxc_hex2dec_small_list;
+#X obj 198 1646 rtest cxc_hex2dec_underflow;
+#X obj 198 1347 rtest cxc_hex2dec_big_list;
+#X obj 198 1291 rtest cxc_hex2dec_load;
+#X obj 56 199 f 0;
+#X text 88 199 <- 0 exit code for "success";
+#X obj 56 120 trigger bang bang bang anything;
+#X msg 127 146 all tests succeeded.;
+#X obj 127 172 print Done;
+#X connect 0 0 27 0;
+#X connect 1 0 4 0;
+#X connect 2 0 42 0;
+#X connect 3 0 7 0;
+#X connect 4 0 5 0;
 #X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 7 0 15 0;
+#X connect 6 0 14 0;
+#X connect 14 0 15 0;
 #X connect 15 0 16 0;
 #X connect 16 0 17 0;
 #X connect 17 0 18 0;
 #X connect 18 0 19 0;
-#X connect 19 0 20 0;
-#X connect 20 0 22 0;
+#X connect 19 0 21 0;
+#X connect 21 0 22 0;
 #X connect 22 0 23 0;
 #X connect 23 0 24 0;
 #X connect 24 0 25 0;
 #X connect 25 0 26 0;
-#X connect 26 0 27 0;
-#X connect 27 0 30 0;
+#X connect 26 0 29 0;
+#X connect 29 0 30 0;
 #X connect 30 0 31 0;
 #X connect 31 0 32 0;
-#X connect 32 0 33 0;
+#X connect 32 0 39 0;
+#X connect 33 0 34 0;
+#X connect 34 0 35 0;
+#X connect 35 0 36 0;
+#X connect 36 0 37 0;
+#X connect 38 0 33 0;
+#X connect 39 0 38 0;
+#X connect 40 0 28 0;
+#X connect 42 0 40 0;
+#X connect 42 1 43 0;
+#X connect 42 2 4 0;
+#X connect 42 3 3 0;
+#X connect 43 0 44 0;
diff --git a/scripts/regression_tests/cxc_hex2dec_big_list.pd b/scripts/regression_tests/cxc_hex2dec_big_list.pd
index d07ec6706aa78e43cd2e04740d89c1465dc05ad1..8149b0b5c27076283b4845f9822eeb3ff8fa4ebd 100644
--- a/scripts/regression_tests/cxc_hex2dec_big_list.pd
+++ b/scripts/regression_tests/cxc_hex2dec_big_list.pd
@@ -1,11 +1,9 @@
 #N canvas 3 60 593 558 12;
 #X obj 41 8 inlet;
-#X obj 41 474 outlet;
+#X obj 41 484 outlet;
 #X obj 41 336 cxc/hex2dec;
 #X obj 41 375 list length;
 #X obj 41 37 bang;
-#X obj 41 442 list append small list should generate output of same
-size;
 #X msg 111 33 bang;
 #X obj 115 177 f;
 #X obj 116 140 until;
@@ -20,28 +18,30 @@ size;
 #X obj 116 111 f 100;
 #X floatatom 387 58 5 0 0 0 - - -, f 5;
 #X obj 387 86 t a;
+#X obj 41 442 list append input list length should should be the same
+as output list length;
 #X connect 0 0 4 0;
 #X connect 2 0 3 0;
-#X connect 3 0 16 0;
-#X connect 4 0 12 0;
-#X connect 5 0 1 0;
+#X connect 3 0 15 0;
+#X connect 4 0 11 0;
+#X connect 5 0 11 0;
+#X connect 6 0 8 0;
 #X connect 6 0 12 0;
-#X connect 7 0 9 0;
-#X connect 7 0 13 0;
-#X connect 8 0 7 0;
-#X connect 9 0 15 0;
-#X connect 10 0 11 1;
-#X connect 10 0 15 1;
-#X connect 11 0 2 0;
-#X connect 12 0 11 0;
-#X connect 12 1 17 0;
-#X connect 12 2 14 0;
-#X connect 12 2 15 1;
-#X connect 13 0 7 1;
-#X connect 14 0 7 1;
-#X connect 15 0 10 0;
-#X connect 16 0 5 0;
-#X connect 17 0 8 0;
-#X connect 18 0 19 0;
-#X connect 19 0 17 1;
-#X connect 19 0 16 1;
+#X connect 7 0 6 0;
+#X connect 8 0 14 0;
+#X connect 9 0 10 1;
+#X connect 9 0 14 1;
+#X connect 10 0 2 0;
+#X connect 11 0 10 0;
+#X connect 11 1 16 0;
+#X connect 11 2 13 0;
+#X connect 11 2 14 1;
+#X connect 12 0 6 1;
+#X connect 13 0 6 1;
+#X connect 14 0 9 0;
+#X connect 15 0 19 0;
+#X connect 16 0 7 0;
+#X connect 17 0 18 0;
+#X connect 18 0 16 1;
+#X connect 18 0 15 1;
+#X connect 19 0 1 0;
diff --git a/scripts/regression_tests/cxc_hex2dec_load.pd b/scripts/regression_tests/cxc_hex2dec_load.pd
new file mode 100644
index 0000000000000000000000000000000000000000..ae954bbd2857a25c55ddc7d32cbacf79032afd78
--- /dev/null
+++ b/scripts/regression_tests/cxc_hex2dec_load.pd
@@ -0,0 +1,15 @@
+#N canvas 3 60 515 273 12;
+#X obj 41 8 inlet;
+#X obj 41 214 outlet;
+#X obj 41 37 bang;
+#X msg 41 66 cxc/hex2dec;
+#X obj 41 95 ../utils/creation-test;
+#X floatatom 101 134 5 0 0 0 - - -, f 5;
+#X obj 41 167 list append cxc/hex2dec is in a default loaded library
+and should instantiate;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 4 0 6 0;
+#X connect 6 0 1 0;
diff --git a/scripts/regression_tests/cxc_hex2dec_small_list.pd b/scripts/regression_tests/cxc_hex2dec_small_list.pd
index 04c8c16c75f5afe35efd151190ac6ce987b74ae1..d071c56732e3a0795b8150bac354a2d16de21222 100644
--- a/scripts/regression_tests/cxc_hex2dec_small_list.pd
+++ b/scripts/regression_tests/cxc_hex2dec_small_list.pd
@@ -1,13 +1,13 @@
-#N canvas 3 60 593 521 12;
+#N canvas 3 60 593 392 12;
 #X obj 41 8 inlet;
-#X obj 41 424 outlet;
+#X obj 41 344 outlet;
 #X obj 41 136 cxc/hex2dec;
 #X msg 41 106 list 0x00 0x01 0x02 0x03;
 #X obj 41 165 list length;
 #X obj 41 194 == 4;
 #X obj 41 37 bang;
-#X obj 41 322 list append small list should generate output of same
-size;
+#X obj 41 242 list append input list length should be equal to output
+list length;
 #X connect 0 0 6 0;
 #X connect 2 0 4 0;
 #X connect 3 0 2 0;
diff --git a/scripts/regression_tests/drawtext-typecheck.pd b/scripts/regression_tests/drawtext-typecheck.pd
index c1ec045a9684a2234da0489b83b254064fc52f12..0d292f3bb9ce63d0d6e85e56129698a10b6cc485 100644
--- a/scripts/regression_tests/drawtext-typecheck.pd
+++ b/scripts/regression_tests/drawtext-typecheck.pd
@@ -1,7 +1,6 @@
-#N canvas 6 89 620 375 12;
+#N canvas 9 118 620 375 12;
 #X obj 41 8 inlet;
 #X obj 41 304 outlet;
-#X obj 196 117 ./utils/creation-test;
 #X obj 157 60 unpost;
 #X msg 196 88 drawnumber 12;
 #X obj 41 33 trigger bang bang;
@@ -10,13 +9,14 @@
 #X obj 41 196 list append drawtext/drawsymbol/drawnumber should refuse
 to create with a float given for the field name;
 #X obj 196 142 == 0;
-#X connect 0 0 5 0;
-#X connect 2 0 9 0;
-#X connect 3 1 4 0;
-#X connect 4 0 2 0;
-#X connect 5 0 7 0;
-#X connect 5 1 3 0;
-#X connect 6 0 5 0;
-#X connect 7 0 8 0;
-#X connect 8 0 1 0;
-#X connect 9 0 7 1;
+#X obj 196 117 ../utils/creation-test;
+#X connect 0 0 4 0;
+#X connect 2 1 3 0;
+#X connect 3 0 9 0;
+#X connect 4 0 6 0;
+#X connect 4 1 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 8 0 6 1;
+#X connect 9 0 8 0;
diff --git a/scripts/utils/creation-test.pd b/scripts/utils/creation-test.pd
index 2dd5d2c24082805bc395e080b9b4013bca0acfeb..874ae99e2fb27ee85a51abafa3a2aeaf1d25a748 100644
--- a/scripts/utils/creation-test.pd
+++ b/scripts/utils/creation-test.pd
@@ -1,22 +1,22 @@
-#N canvas 314 60 683 597 12;
+#N canvas 311 60 683 597 12;
 #X text 97 22 Simple abstraction to test object creation;
-#N canvas 82 171 450 346 \$0-test 1;
+#N canvas 82 171 450 346 \$0-test 0;
 #X obj 200 20 receive 1004-in;
 #X obj 200 60 canvasinfo;
 #X obj 200 100 send 1004-out;
-#X text 41 40 hello;
+#X obj 0 0 cxc/hex2dec;
 #X connect 0 0 1 0;
 #X connect 1 0 2 0;
-#X restore 28 318 pd \$0-test;
+#X restore 110 329 pd \$0-test;
 #X obj 28 22 inlet;
-#X obj 71 151 list prepend obj 0 0;
-#X obj 71 176 list trim;
-#X obj 71 206 send pd-\$0-test;
+#X obj 71 141 list prepend obj 0 0;
+#X obj 71 166 list trim;
+#X obj 110 231 send pd-\$0-test;
 #X obj 28 97 trigger anything anything bang;
-#X obj 28 236 list prepend find;
+#X obj 28 261 list prepend find;
 #X obj 235 124 f \$0;
 #X msg 262 93 bang;
-#X obj 28 291 send \$0-in;
+#X obj 28 316 send \$0-in;
 #X obj 28 345 r \$0-out;
 #X msg 235 151 clear \, obj 200 20 receive \$1-in \, obj 200 60 canvasinfo
 \, obj 200 100 send \$1-out \, connect 0 0 1 0 \, connect 1 0 2 0;
@@ -24,7 +24,7 @@
 #X obj 28 395 t b a;
 #X obj 28 447 objectinfo;
 #X msg 28 420 class;
-#X obj 28 261 list trim;
+#X obj 28 286 list trim;
 #X text 63 53 for everything except receive \, send \, and canvasinfo
 \, or comments;
 #X obj 28 472 select text;
@@ -32,9 +32,11 @@
 #X obj 102 497 b;
 #X msg 102 522 1;
 #X obj 28 559 outlet;
+#X obj 71 191 unpost;
+#X text 126 192 <- supress creation error message;
 #X connect 2 0 6 0;
 #X connect 3 0 4 0;
-#X connect 4 0 5 0;
+#X connect 4 0 24 0;
 #X connect 6 0 7 0;
 #X connect 6 1 3 0;
 #X connect 6 2 8 0;
@@ -54,3 +56,4 @@
 #X connect 20 0 23 0;
 #X connect 21 0 22 0;
 #X connect 22 0 23 0;
+#X connect 24 1 5 0;
diff --git a/scripts/utils/print-result.pd b/scripts/utils/print-result.pd
index 261578f43052bf984b7505d9c590f28672237417..b6f61a00820a31d892d2f3f31eb2c55f3f6466f6 100644
--- a/scripts/utils/print-result.pd
+++ b/scripts/utils/print-result.pd
@@ -1,21 +1,30 @@
-#N canvas 387 146 450 300 12;
+#N canvas 27 74 564 426 12;
 #X obj 105 48 route 0;
-#X obj 183 193 print failure;
-#X obj 190 58 tgl 28 0 empty empty Print_All_Results 31 11 0 12 -262144
+#X obj 230 78 tgl 28 0 empty empty Print_All_Results 31 11 0 12 -262144
 -1 -1 0 1;
-#X obj 105 133 t b a;
-#X obj 151 96 spigot;
-#X obj 137 163 route 1;
-#X obj 137 218 print success;
+#X obj 151 116 spigot;
 #X obj 105 11 inlet;
-#X obj 105 252 quit-if-nogui;
-#X connect 0 0 3 0;
-#X connect 0 1 4 0;
-#X connect 2 0 4 1;
-#X connect 3 0 8 0;
-#X connect 3 1 5 0;
-#X connect 4 0 3 0;
+#X obj 105 357 quit-if-nogui;
+#X obj 105 153 t a a;
+#X obj 105 270 route 0;
+#X obj 105 299 b;
+#X msg 105 328 1;
+#X text 141 328 <- give a nonzero exit code to signal error;
+#X obj 105 77 list prepend 0;
+#X obj 137 183 route 0 1;
+#X obj 137 238 print failure;
+#X obj 167 213 print success;
+#X connect 0 0 10 0;
+#X connect 0 1 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 5 0;
+#X connect 3 0 0 0;
 #X connect 5 0 6 0;
-#X connect 5 1 1 0;
-#X connect 7 0 0 0;
-#X coords 0 -1 1 1 162 60 1 186 32;
+#X connect 5 1 11 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 8 0 4 0;
+#X connect 10 0 5 0;
+#X connect 11 0 12 0;
+#X connect 11 1 13 0;
+#X coords 0 -1 1 1 162 60 1 225 52;
diff --git a/scripts/utils/quit-if-nogui.pd b/scripts/utils/quit-if-nogui.pd
index a00e808251c986b08b7344878fe8725be925f3e1..feb55d29586bbf70f9240213a3d3a536dd0bec97 100644
--- a/scripts/utils/quit-if-nogui.pd
+++ b/scripts/utils/quit-if-nogui.pd
@@ -1,14 +1,17 @@
-#N canvas 461 242 450 300 12;
+#N canvas 731 162 450 300 12;
 #X obj 119 31 inlet;
-#X obj 119 60 bang;
-#X msg 119 88 gui;
-#X obj 119 113 pdinfo;
-#X obj 119 138 sel 0;
-#X obj 119 188 s pd;
-#X msg 119 163 quit;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
+#X obj 119 226 s pd;
+#X msg 151 87 gui;
+#X obj 151 116 pdinfo;
+#X obj 151 145 == 0;
+#X obj 119 172 spigot;
+#X obj 119 59 t a b;
+#X msg 119 201 quit \$1;
+#X connect 0 0 6 0;
 #X connect 2 0 3 0;
 #X connect 3 0 4 0;
-#X connect 4 0 6 0;
+#X connect 4 0 5 1;
+#X connect 5 0 7 0;
 #X connect 6 0 5 0;
+#X connect 6 1 2 0;
+#X connect 7 0 1 0;