Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/samples
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2013-08-29 01:55:05 (GMT)
committer Walter Bender <walter@sugarlabs.org>2013-08-29 01:55:05 (GMT)
commitebd7579dfe08674ff0c502aed5cd43b0544fe2e4 (patch)
tree6b4db2ca96941e7ee24248f0b45a07dd4475df21 /samples
parent1e3da13852273f87d6c16df1961e70e0c43aefea (diff)
add new samples
Diffstat (limited to 'samples')
-rw-r--r--samples/basic-intro-1.ta239
-rw-r--r--samples/card-01.tb13
-rw-r--r--samples/card-02.tb15
-rw-r--r--samples/card-03.tb27
-rw-r--r--samples/card-04.tb36
-rw-r--r--samples/card-05.tb33
-rw-r--r--samples/card-06.tb11
-rw-r--r--samples/card-07.tb21
-rw-r--r--samples/card-08.tb54
-rw-r--r--samples/card-09.tb21
-rw-r--r--samples/card-10.tb61
-rw-r--r--samples/card-11.tb43
-rw-r--r--samples/card-12.tb42
-rw-r--r--samples/card-13.tb24
-rw-r--r--samples/card-14.tb24
-rw-r--r--samples/card-15.tb13
-rw-r--r--samples/card-16.tb29
-rw-r--r--samples/card-17.tb54
-rw-r--r--samples/game-continents.ta526
-rw-r--r--samples/game-find-boston.ta750
-rw-r--r--samples/game-gonu.tb85
-rw-r--r--samples/game-shapes-and-color.ta783
-rw-r--r--samples/game-spiralaterals.ta132
-rw-r--r--samples/graphics-bbq.tb89
-rw-r--r--samples/graphics-bubbles.ta76
-rw-r--r--samples/graphics-city.ta294
-rw-r--r--samples/graphics-csquiral.ta31
-rw-r--r--samples/graphics-curls.tb73
-rw-r--r--samples/graphics-daimons.tb74
-rw-r--r--samples/graphics-dalton.tb43
-rw-r--r--samples/graphics-dots.ta68
-rw-r--r--samples/graphics-grid.tb161
-rw-r--r--samples/graphics-op-art-2.ta83
-rw-r--r--samples/graphics-palm.tb60
-rw-r--r--samples/graphics-redwisp.ta82
-rw-r--r--samples/math-dice.ta227
-rw-r--r--samples/math-snowflake.ta70
-rw-r--r--samples/math-tree.ta94
-rw-r--r--samples/media-music-dots.tb61
-rw-r--r--samples/media-music-keyboard.tb130
-rw-r--r--samples/media-music.tb176
-rw-r--r--samples/sensors-loudness-monitor.ta152
-rw-r--r--samples/sensors-psuedo-color.ta2
-rw-r--r--samples/sensors-record.tb113
-rw-r--r--samples/sensors-soundpaint.ta30
-rw-r--r--samples/sensors-valentine.ta219
-rw-r--r--samples/thumbnails/basic-intro-1-es.pngbin0 -> 3110 bytes
-rw-r--r--samples/thumbnails/basic-intro-1.pngbin0 -> 3822 bytes
-rw-r--r--samples/thumbnails/basic-intro-2-es.pngbin0 -> 6871 bytes
-rw-r--r--samples/thumbnails/basic-intro-2.pngbin0 -> 7712 bytes
-rw-r--r--samples/thumbnails/basic-intro-3.pngbin0 -> 8843 bytes
-rw-r--r--samples/thumbnails/basic-repeat-squares.pngbin0 -> 24723 bytes
-rw-r--r--samples/thumbnails/basic-spiral.pngbin0 -> 43119 bytes
-rw-r--r--samples/thumbnails/basic-square.pngbin0 -> 544 bytes
-rw-r--r--samples/thumbnails/card-01.pngbin0 -> 9783 bytes
-rw-r--r--samples/thumbnails/card-02.pngbin0 -> 9230 bytes
-rw-r--r--samples/thumbnails/card-03.pngbin0 -> 1064 bytes
-rw-r--r--samples/thumbnails/card-04.pngbin0 -> 4497 bytes
-rw-r--r--samples/thumbnails/card-05.pngbin0 -> 9413 bytes
-rw-r--r--samples/thumbnails/card-06.pngbin0 -> 1437 bytes
-rw-r--r--samples/thumbnails/card-07.pngbin0 -> 1648 bytes
-rw-r--r--samples/thumbnails/card-08.pngbin0 -> 1793 bytes
-rw-r--r--samples/thumbnails/card-09.pngbin0 -> 15094 bytes
-rw-r--r--samples/thumbnails/card-10.pngbin0 -> 14905 bytes
-rw-r--r--samples/thumbnails/card-11.pngbin0 -> 32761 bytes
-rw-r--r--samples/thumbnails/card-12.pngbin0 -> 3405 bytes
-rw-r--r--samples/thumbnails/card-13.pngbin0 -> 2368 bytes
-rw-r--r--samples/thumbnails/card-14.pngbin0 -> 4116 bytes
-rw-r--r--samples/thumbnails/card-15.pngbin0 -> 1841 bytes
-rw-r--r--samples/thumbnails/card-16.pngbin0 -> 3780 bytes
-rw-r--r--samples/thumbnails/card-17.pngbin0 -> 3987 bytes
-rw-r--r--samples/thumbnails/game-basketball.pngbin0 -> 4678 bytes
-rw-r--r--samples/thumbnails/game-continents.pngbin0 -> 15270 bytes
-rw-r--r--samples/thumbnails/game-find-boston.pngbin0 -> 14472 bytes
-rw-r--r--samples/thumbnails/game-gonu.pngbin0 -> 4258 bytes
-rw-r--r--samples/thumbnails/game-set.pngbin0 -> 2659 bytes
-rw-r--r--samples/thumbnails/game-shapes-and-colors.pngbin0 -> 3380 bytes
-rw-r--r--samples/thumbnails/game-spiralaterals.pngbin0 -> 28891 bytes
-rw-r--r--samples/thumbnails/game-trianglepaint.pngbin0 -> 6967 bytes
-rw-r--r--samples/thumbnails/graphics-bbq.pngbin0 -> 23606 bytes
-rw-r--r--samples/thumbnails/graphics-birds.pngbin0 -> 32606 bytes
-rw-r--r--samples/thumbnails/graphics-bubbles.pngbin0 -> 9449 bytes
-rw-r--r--samples/thumbnails/graphics-candyvortex.pngbin0 -> 46194 bytes
-rw-r--r--samples/thumbnails/graphics-city.pngbin0 -> 16385 bytes
-rw-r--r--samples/thumbnails/graphics-colors.pngbin0 -> 15148 bytes
-rw-r--r--samples/thumbnails/graphics-csquiral.pngbin0 -> 35846 bytes
-rw-r--r--samples/thumbnails/graphics-curls.pngbin0 -> 34664 bytes
-rw-r--r--samples/thumbnails/graphics-curlygates.pngbin0 -> 29188 bytes
-rw-r--r--samples/thumbnails/graphics-daimons.pngbin0 -> 17585 bytes
-rw-r--r--samples/thumbnails/graphics-dalton.pngbin0 -> 45813 bytes
-rw-r--r--samples/thumbnails/graphics-dots.pngbin0 -> 29419 bytes
-rw-r--r--samples/thumbnails/graphics-flower.pngbin0 -> 28510 bytes
-rw-r--r--samples/thumbnails/graphics-fountain.pngbin0 -> 10447 bytes
-rw-r--r--samples/thumbnails/graphics-grid.pngbin0 -> 15989 bytes
-rw-r--r--samples/thumbnails/graphics-op-art-2.pngbin0 -> 10050 bytes
-rw-r--r--samples/thumbnails/graphics-op-art.pngbin0 -> 6857 bytes
-rw-r--r--samples/thumbnails/graphics-palm.pngbin0 -> 18303 bytes
-rw-r--r--samples/thumbnails/graphics-rainbow.pngbin0 -> 10336 bytes
-rw-r--r--samples/thumbnails/graphics-redwisp.pngbin0 -> 17872 bytes
-rw-r--r--samples/thumbnails/graphics-reflections.pngbin0 -> 22827 bytes
-rw-r--r--samples/thumbnails/graphics-shades.pngbin0 -> 26301 bytes
-rw-r--r--samples/thumbnails/graphics-smoothcandy.pngbin0 -> 16282 bytes
-rw-r--r--samples/thumbnails/graphics-sunrise.pngbin0 -> 36106 bytes
-rw-r--r--samples/thumbnails/graphics-turtles.pngbin0 -> 18972 bytes
-rw-r--r--samples/thumbnails/graphics-xo-child.pngbin0 -> 35653 bytes
-rw-r--r--samples/thumbnails/math-Pythagoras.pngbin0 -> 8630 bytes
-rw-r--r--samples/thumbnails/math-cherlin.pngbin0 -> 32455 bytes
-rw-r--r--samples/thumbnails/math-dice.pngbin0 -> 1956 bytes
-rw-r--r--samples/thumbnails/math-fractions.pngbin0 -> 5715 bytes
-rw-r--r--samples/thumbnails/math-galton-path.pngbin0 -> 16422 bytes
-rw-r--r--samples/thumbnails/math-geometry.pngbin0 -> 10751 bytes
-rw-r--r--samples/thumbnails/math-heart-animation.pngbin0 -> 54359 bytes
-rw-r--r--samples/thumbnails/math-heart.pngbin0 -> 1567 bytes
-rw-r--r--samples/thumbnails/math-prime-factors.pngbin0 -> 5187 bytes
-rw-r--r--samples/thumbnails/math-sierpquad.pngbin0 -> 25356 bytes
-rw-r--r--samples/thumbnails/math-sierptri.pngbin0 -> 11322 bytes
-rw-r--r--samples/thumbnails/math-snowflake.pngbin0 -> 7685 bytes
-rw-r--r--samples/thumbnails/math-tangents.pngbin0 -> 20868 bytes
-rw-r--r--samples/thumbnails/math-tree.pngbin0 -> 11678 bytes
-rw-r--r--samples/thumbnails/media-music-dots.pngbin0 -> 7073 bytes
-rw-r--r--samples/thumbnails/media-music-keyboard.pngbin0 -> 936 bytes
-rw-r--r--samples/thumbnails/media-scratch.pngbin0 -> 37894 bytes
-rw-r--r--samples/thumbnails/sensors-graph.pngbin0 -> 2147 bytes
-rw-r--r--samples/thumbnails/sensors-loudness-monitor.pngbin0 -> 545 bytes
-rw-r--r--samples/thumbnails/sensors-measure.pngbin0 -> 8600 bytes
-rw-r--r--samples/thumbnails/sensors-psuedo-color.pngbin0 -> 15276 bytes
-rw-r--r--samples/thumbnails/sensors-record.pngbin0 -> 6339 bytes
-rw-r--r--samples/thumbnails/sensors-simple-paint.pngbin0 -> 3233 bytes
-rw-r--r--samples/thumbnails/sensors-soundpaint.pngbin0 -> 6690 bytes
-rw-r--r--samples/thumbnails/sensors-spectrum-analyzer.pngbin0 -> 5172 bytes
-rw-r--r--samples/thumbnails/sensors-valentine.pngbin0 -> 1286 bytes
-rw-r--r--samples/thumbnails/utility-clock.pngbin0 -> 7441 bytes
-rw-r--r--samples/thumbnails/utility-timer.pngbin0 -> 3411 bytes
133 files changed, 3603 insertions, 1841 deletions
diff --git a/samples/basic-intro-1.ta b/samples/basic-intro-1.ta
index 73b6dae..17cff6a 100644
--- a/samples/basic-intro-1.ta
+++ b/samples/basic-intro-1.ta
@@ -1,167 +1,72 @@
-[[0, ["start", 2.0], 30, 550, [null, 164]],
-[1, ["setxy2", 20], 1317, 731, [83, 5, 166, 6]],
-[2, ["number", 20], 1429, 773, [5, null]],
-[3, "xcor", 1429, 731, [5, null]],
-[4, "ycor", 1429, 813, [166, null]],
-[5, ["plus2", 0], 1375, 731, [1, 3, 2]],
-[6, ["vspace", 0], 1317, 855, [1, 89]],
-[7, "penup", 1317, 521, [156, 19]],
-[8, "pendown", 1317, 1317, [25, 158]],
-[9, ["number", 60], 1429, 855, [166, null]],
-[10, "hat", 33, 869, [null, 11, 70]],
-[11, ["string", "next"], 91, 881, [10, null]],
-[12, "stack", 30, 638, [164, 13, null]],
-[13, ["string", "next"], 88, 638, [12, null]],
-[14, "clean", 33, 1007, [75, 37]],
-[15, "hat", 1334, 415, [null, 36, 72]],
-[16, "stack", 33, 1217, [73, 35, 31]],
-[17, "show", 1317, 1191, [30, 18, 25]],
-[18, ["string", "The repeat block lets you repeat an action."], 1375, 1191, [17, null]],
-[19, ["setxy2", 0], 1317, 563, [7, 20, 21, 83]],
-[20, ["number", -300], 1375, 563, [19, null]],
-[21, ["number", 100], 1375, 605, [19, null]],
-[22, ["setxy2", 0], 1317, 1065, [87, 23, 29, 30]],
-[23, ["number", -300], 1375, 1065, [22, null]],
-[24, ["number", 80], 1453, 1149, [29, null]],
-[25, ["setxy2", 0], 1317, 1233, [17, 26, 27, 8]],
-[26, ["number", 0], 1375, 1233, [25, null]],
-[27, ["number", 0], 1375, 1275, [25, null]],
-[28, "ycor", 1429, 1107, [29, null]],
-[29, ["minus2", 0], 1375, 1107, [22, 28, 24]],
-[30, ["vspace", 0], 1317, 1149, [22, 17]],
-[31, "storeinbox1", 33, 1259, [16, 34, null]],
-[32, ["number", 1], 205, 1301, [34, null]],
-[33, "box1", 205, 1259, [34, null]],
-[34, ["plus2", 0], 151, 1259, [31, 33, 32]],
-[35, "box1", 91, 1217, [16, null]],
-[36, ["number", 3], 1392, 427, [15, null]],
-[37, ["if", 0], 33, 1049, [14, 41, 38, 73]],
-[38, "storeinbox1", 51, 1115, [37, 39, null]],
-[39, ["number", 0], 169, 1115, [38, null]],
-[40, "box1", 135, 1015, [41, null]],
-[41, ["greater2", 0], 89, 1015, [37, 40, 42, null]],
-[42, ["number", 3], 159, 1057, [41, null]],
-[43, ["number", 1], 1384, 194, [69, null]],
-[44, "penup", 1344, 270, [71, 45]],
-[45, ["setxy2", 0], 1344, 312, [44, 46, 47, 85]],
-[46, ["number", -300], 1402, 312, [45, null]],
-[47, ["number", 100], 1402, 354, [45, null]],
-[48, ["setxy2", 0], 1344, 984, [77, 49, 50, 53]],
-[49, ["number", -300], 1402, 984, [48, null]],
-[50, ["minus2", 0], 1402, 1026, [48, 51, 52]],
-[51, "ycor", 1456, 1026, [50, null]],
-[52, ["number", 40.0], 1480, 1068, [50, null]],
-[53, ["vspace", 0], 1344, 1068, [48, 54]],
-[54, "show", 1344, 1110, [53, 55, 56]],
-[55, ["string", "The turtle can go forward, back, left, and right."], 1402, 1110, [54, null]],
-[56, ["setxy2", 0], 1344, 1152, [54, 57, 58, 59]],
-[57, ["number", 0], 1402, 1152, [56, null]],
-[58, ["number", 0], 1402, 1194, [56, null]],
-[59, "pendown", 1344, 1236, [56, null]],
-[60, ["setxy2", 0], 1344, 480, [85, 61, 62, 81]],
-[61, ["number", -300], 1402, 480, [60, null]],
-[62, ["number", 25.0], 1402, 522, [60, null]],
-[63, ["setxy2", 0], 1344, 648, [81, 64, 65, 79]],
-[64, ["number", -300], 1402, 648, [63, null]],
-[65, ["number", -50.0], 1402, 690, [63, null]],
-[66, ["setxy2", 0], 1344, 816, [79, 67, 68, 77]],
-[67, ["number", -300], 1402, 816, [66, null]],
-[68, ["number", -125], 1402, 858, [66, null]],
-[69, "hat", 1326, 182, [null, 43, 71]],
-[70, "showblocks", 33, 923, [10, 75]],
-[71, "sandwichclampcollapsed", 1326, 236, [69, 44, null]],
-[72, "sandwichclampcollapsed", 1334, 469, [15, 156, null]],
-[73, ["loadblock", 0], 33, 1175, [37, 74, 16]],
-[74, ["string", "delete"], 91, 1175, [73, null]],
-[75, "loadpalette", 33, 965, [70, 76, 14]],
-[76, ["string", "turtle"], 94, 965, [75, null]],
-[77, ["loadblock2arg", 0], 1344, 900, [66, 78, 97, 48]],
-[78, ["string", "right"], 1402, 900, [77, null]],
-[79, ["loadblock2arg", 0], 1344, 732, [63, 80, 96, 66]],
-[80, ["string", "left"], 1402, 732, [79, null]],
-[81, ["loadblock2arg", 0], 1344, 564, [60, 82, 95, 63]],
-[82, ["string", "back"], 1402, 564, [81, null]],
-[83, ["loadblock2arg", 0], 1317, 647, [19, 84, 91, 1]],
-[84, ["string", "repeat"], 1375, 647, [83, null]],
-[85, ["loadblock2arg", 0], 1344, 396, [45, 86, 94, 60]],
-[86, ["string", "forward"], 1402, 396, [85, null]],
-[87, ["loadblock2arg", 0], 1317, 981, [89, 88, 93, 22]],
-[88, ["string", "right"], 1375, 981, [87, null]],
-[89, ["loadblock2arg", 0], 1317, 897, [6, 90, 92, 87]],
-[90, ["string", "forward"], 1375, 897, [89, null]],
-[91, ["number", 4], 1375, 689, [83, null]],
-[92, ["number", 100], 1375, 939, [89, null]],
-[93, ["number", 90], 1375, 1023, [87, null]],
-[94, ["number", 100], 1402, 438, [85, null]],
-[95, ["number", 100], 1402, 606, [81, null]],
-[96, ["number", 90], 1402, 774, [79, null]],
-[97, ["number", 90], 1402, 942, [77, null]],
-[98, "hat", 1327, 69, [null, 99, 100]],
-[99, ["number", 0], 1385, 81, [98, null]],
-[100, "sandwichclampcollapsed", 1327, 123, [98, 101, null]],
-[101, "penup", 1310, 133, [100, 102]],
-[102, ["setxy2", 0], 1310, 175, [101, 103, 104, 105]],
-[103, ["number", -300], 1368, 175, [102, null]],
-[104, ["number", -75], 1368, 217, [102, null]],
-[105, ["loadblock2arg", 0], 1310, 259, [102, 106, 107, 108]],
-[106, ["string", "forward"], 1368, 259, [105, null]],
-[107, ["number", 100], 1368, 301, [105, null]],
-[108, ["setxy2", 0], 1310, 343, [105, 109, 110, 113]],
-[109, ["number", -300], 1368, 343, [108, null]],
-[110, ["minus2", 0], 1368, 385, [108, 111, 112]],
-[111, "ycor", 1422, 385, [110, null]],
-[112, ["number", 75], 1446, 427, [110, null]],
-[113, ["vspace", 0], 1310, 427, [108, 114]],
-[114, "show", 1310, 469, [113, 115, 116]],
-[115, ["string", "The turtle goes forward 100 steps."], 1368, 469, [114, null]],
-[116, ["setxy2", 0], 1310, 511, [114, 117, 118, 119]],
-[117, ["number", 0], 1368, 511, [116, null]],
-[118, ["number", 0], 1368, 553, [116, null]],
-[119, "pendown", 1310, 595, [116, 120]],
-[120, "forward", 1310, 637, [119, 121, null]],
-[121, ["number", 100], 1381, 637, [120, null]],
-[122, "hat", 1329, 296, [null, 123, 124]],
-[123, ["number", 2], 1387, 308, [122, null]],
-[124, "sandwichclampcollapsed", 1329, 350, [122, 125, null]],
-[125, "penup", 1312, 360, [124, 126]],
-[126, ["setxy2", 0], 1312, 402, [125, 127, 128, 129]],
-[127, ["number", -300], 1370, 402, [126, null]],
-[128, ["number", 100], 1370, 444, [126, null]],
-[129, ["loadblock2arg", 0], 1312, 486, [126, 130, 131, 132]],
-[130, ["string", "forward"], 1370, 486, [129, null]],
-[131, ["number", 100], 1370, 528, [129, null]],
-[132, ["loadblock2arg", 0], 1312, 570, [129, 136, 133, 134]],
-[133, ["number", 45], 1370, 612, [132, null]],
-[134, ["loadblock2arg", 0], 1312, 654, [132, 149, 135, 137]],
-[135, ["number", 100], 1370, 696, [134, null]],
-[136, ["string", "right"], 1370, 570, [132, null]],
-[137, ["setxy2", 0], 1312, 738, [134, 138, 139, 142]],
-[138, ["number", -300], 1370, 738, [137, null]],
-[139, ["minus2", 0], 1370, 780, [137, 140, 141]],
-[140, "ycor", 1424, 780, [139, null]],
-[141, ["number", 200], 1448, 822, [139, null]],
-[142, ["vspace", 0], 1312, 822, [137, 143]],
-[143, "show", 1312, 864, [142, 144, 145]],
-[144, ["string", "The turtle will run each command in a stack of blocks\nstarting from the top."], 1370, 864, [143, null]],
-[145, ["setxy2", 0], 1312, 906, [143, 146, 147, 148]],
-[146, ["number", 0], 1370, 906, [145, null]],
-[147, ["number", 0], 1370, 948, [145, null]],
-[148, "pendown", 1312, 990, [145, 150]],
-[149, ["string", "forward"], 1370, 654, [134, null]],
-[150, "forward", 1312, 1032, [148, 151, 152]],
-[151, ["number", 100], 1383, 1032, [150, null]],
-[152, "right", 1312, 1074, [150, 153, 154]],
-[153, ["number", 45], 1370, 1074, [152, null]],
-[154, "forward", 1312, 1116, [152, 155, null]],
-[155, ["number", 100], 1383, 1116, [154, null]],
-[156, "loadpalette", 1317, 479, [72, 157, 7]],
-[157, ["string", "flow"], 1378, 479, [156, null]],
-[158, ["repeat", 21], 1317, 1359, [8, 159, 160, null]],
-[159, ["number", 4], 1376, 1359, [158, null]],
-[160, "forward", 1335, 1401, [158, 161, 162]],
-[161, ["number", 100], 1406, 1401, [160, null]],
-[162, "right", 1335, 1443, [160, 163, null]],
-[163, ["number", 90], 1393, 1443, [162, null]],
-[164, "comment", 30, 596, [0, 165, 12]],
-[165, ["string", "click start"], 113, 596, [164, null]],
-[166, ["plus2", 0], 1375, 813, [1, 4, 9]]]
+[[0, ["start", 2.0], 788, 178, [null, 67]],
+[1, "forward", 437, 523, [6, 2, 3]],
+[2, ["number", 100], 508, 523, [1, null]],
+[3, "right", 437, 565, [1, 5, null]],
+[4, ["number", 360], 565, 565, [5, null]],
+[5, ["division2", 0], 495, 565, [3, 4, 58]],
+[6, ["repeat", 21], 419, 481, [26, 56, 1, null]],
+[7, ["repeat", 168], 29, 324, [39, 8, 16, null]],
+[8, ["number", 10], 88, 324, [7, null]],
+[9, "startfill", 47, 450, [11, 28]],
+[10, "stopfill", 47, 534, [28, 17]],
+[11, "setgray", 47, 408, [16, 13, 9]],
+[12, ["number", 300], 190, 408, [13, null]],
+[13, ["division2", 0], 120, 408, [11, 12, 48]],
+[14, ["number", 1], 212, 744, [15, null]],
+[15, ["minus2", 0], 115, 702, [46, 50, 14]],
+[16, "setcolor", 47, 366, [7, 66, 11]],
+[17, "setcolor", 47, 576, [10, 71, 30]],
+[18, ["repeat", 21], 418, 240, [24, 52, 19, null]],
+[19, "forward", 436, 282, [18, 20, 23]],
+[20, ["number", 100], 507, 282, [19, null]],
+[21, ["division2", 0], 494, 324, [23, 22, 54]],
+[22, ["number", 360], 564, 324, [21, null]],
+[23, "left", 436, 324, [19, 21, null]],
+[24, "hat", 418, 186, [null, 25, 18]],
+[25, ["number", 2], 476, 198, [24, null]],
+[26, "hat", 419, 427, [null, 27, 6]],
+[27, ["number", 1], 477, 439, [26, null]],
+[28, "stack", 47, 492, [9, 60, 10]],
+[29, ["number", 1], 856, 392, [42, null]],
+[30, "stack", 47, 618, [17, 64, 46]],
+[31, ["repeat", 42], 788, 434, [42, 32, 37, null]],
+[32, ["number", 2], 847, 434, [31, null]],
+[33, ["number", 1], 928, 602, [34, null]],
+[34, ["plus2", 0], 874, 560, [44, 62, 33]],
+[35, "hat", 29, 186, [null, 36, 39]],
+[36, ["string", "action"], 87, 198, [35, null]],
+[37, "stack", 806, 476, [31, 38, 44]],
+[38, ["string", "action"], 864, 476, [37, null]],
+[39, ["storein", 0], 29, 240, [35, 40, 41, 7]],
+[40, ["string", "box 1"], 97, 240, [39, null]],
+[41, ["number", 12], 97, 282, [39, null]],
+[42, ["storein", 0], 788, 350, [67, 43, 29, 31]],
+[43, ["string", "box 2"], 856, 350, [42, null]],
+[44, ["storein", 0], 806, 518, [37, 45, 34, null]],
+[45, ["string", "box 2"], 874, 518, [44, null]],
+[46, ["storein", 0], 47, 660, [30, 47, 15, null]],
+[47, ["string", "box 1"], 115, 660, [46, null]],
+[48, "box", 214, 450, [13, 49, null]],
+[49, ["string", "box 1"], 269, 450, [48, null]],
+[50, "box", 188, 702, [15, 51, null]],
+[51, ["string", "box 1"], 243, 702, [50, null]],
+[52, "box", 477, 240, [18, 53, null]],
+[53, ["string", "box 1"], 532, 240, [52, null]],
+[54, "box", 588, 366, [21, 55, null]],
+[55, ["string", "box 1"], 643, 366, [54, null]],
+[56, "box", 478, 481, [6, 57, null]],
+[57, ["string", "box 1"], 533, 481, [56, null]],
+[58, "box", 589, 607, [5, 59, null]],
+[59, ["string", "box 1"], 644, 607, [58, null]],
+[60, "box", 105, 492, [28, 61, null]],
+[61, ["string", "box 2"], 160, 492, [60, null]],
+[62, "box", 928, 560, [34, 63, null]],
+[63, ["string", "box 2"], 983, 560, [62, null]],
+[64, "box", 105, 618, [30, 65, null]],
+[65, ["string", "box 2"], 160, 618, [64, null]],
+[66, "red", 124, 366, [16, null]],
+[67, "fillscreen2", 788, 224, [0, 68, 69, 70, 42]],
+[68, ["number", 60], 870, 224, [67, null]],
+[69, ["number", 80], 870, 266, [67, null]],
+[70, ["number", 100], 870, 308, [67, null]],
+[71, "orange", 124, 576, [17, null]]]
diff --git a/samples/card-01.tb b/samples/card-01.tb
new file mode 100644
index 0000000..3748b3d
--- /dev/null
+++ b/samples/card-01.tb
@@ -0,0 +1,13 @@
+[[0, ["start", 2.0], 919, 191, [null, 9]],
+[1, "forward", 937, 405, [7, 2, 3]],
+[2, ["number", 200.0], 1008, 405, [1, null]],
+[3, "back", 937, 447, [1, 4, 5]],
+[4, ["number", 200.0], 995, 447, [3, null]],
+[5, "right", 937, 489, [3, 6, null]],
+[6, ["number", 10.0], 995, 489, [5, null]],
+[7, ["repeat", 42], 919, 363, [9, 8, 1, null]],
+[8, ["number", 36.0], 978, 363, [7, null]],
+[9, "fillscreen2", 919, 237, [0, 10, 11, 12, 7]],
+[10, ["number", 60], 1001, 237, [9, null]],
+[11, ["number", 80], 1001, 279, [9, null]],
+[12, ["number", 100], 1001, 321, [9, null]]]
diff --git a/samples/card-02.tb b/samples/card-02.tb
new file mode 100644
index 0000000..f51efb1
--- /dev/null
+++ b/samples/card-02.tb
@@ -0,0 +1,15 @@
+[[0, ["start", 2.0], 914, 173, [null, 9]],
+[1, "forward", 932, 387, [7, 2, 3]],
+[2, ["number", 200.0], 1003, 387, [1, null]],
+[3, "back", 932, 429, [1, 4, 5]],
+[4, ["number", 200.0], 990, 429, [3, null]],
+[5, "right", 932, 471, [3, 6, 14]],
+[6, ["number", 10.0], 990, 471, [5, null]],
+[7, ["repeat", 63], 914, 345, [9, 8, 1, null]],
+[8, ["number", 36.0], 973, 345, [7, null]],
+[9, "fillscreen2", 914, 219, [0, 10, 11, 12, 7]],
+[10, ["number", 60], 996, 219, [9, null]],
+[11, ["number", 80], 996, 261, [9, null]],
+[12, ["number", 100], 996, 303, [9, null]],
+[13, "heading", 1009, 513, [14, null]],
+[14, "setcolor", 932, 513, [5, 13, null]]]
diff --git a/samples/card-03.tb b/samples/card-03.tb
new file mode 100644
index 0000000..6783418
--- /dev/null
+++ b/samples/card-03.tb
@@ -0,0 +1,27 @@
+[[0, ["start", 2.0], 880, 80, [null, 1]],
+[1, "fillscreen2", 880, 126, [0, 2, 3, 4, 14]],
+[2, ["number", 60], 962, 126, [1, null]],
+[3, ["number", 80], 962, 168, [1, null]],
+[4, ["number", 100], 962, 210, [1, null]],
+[5, ["repeat", 21], 420, 374, [10, 6, 7, null]],
+[6, ["number", 4], 479, 374, [5, null]],
+[7, "forward", 438, 416, [5, 25, 8]],
+[8, "right", 438, 458, [7, 9, null]],
+[9, ["number", 90], 496, 458, [8, null]],
+[10, "hat", 420, 320, [null, 11, 5]],
+[11, ["string", "square"], 478, 332, [10, null]],
+[12, ["repeat", 42], 880, 336, [14, 13, 20, null]],
+[13, ["number", 10.0], 939, 336, [12, null]],
+[14, ["storein", 0], 880, 252, [1, 15, 16, 12]],
+[15, ["string", "side"], 948, 252, [14, null]],
+[16, ["number", 10.0], 948, 294, [14, null]],
+[17, ["storein", 0], 898, 420, [20, 18, 24, null]],
+[18, ["string", "side"], 966, 420, [17, null]],
+[19, ["number", 20.0], 1020, 504, [24, null]],
+[20, "stack", 898, 378, [12, 21, 17]],
+[21, ["string", "square"], 956, 378, [20, null]],
+[22, "box", 1020, 462, [24, 23, null]],
+[23, ["string", "side"], 1075, 462, [22, null]],
+[24, ["plus2", 0], 966, 462, [17, 22, 19]],
+[25, "box", 509, 416, [7, 26, null]],
+[26, ["string", "side"], 564, 416, [25, null]]]
diff --git a/samples/card-04.tb b/samples/card-04.tb
new file mode 100644
index 0000000..ff99055
--- /dev/null
+++ b/samples/card-04.tb
@@ -0,0 +1,36 @@
+[[0, ["start", 2.0], 798, 68, [null, 1]],
+[1, "fillscreen2", 798, 114, [0, 2, 3, 4, 31]],
+[2, ["number", 60], 880, 114, [1, null]],
+[3, ["number", 80], 880, 156, [1, null]],
+[4, ["number", 100], 880, 198, [1, null]],
+[5, "hat", 459, 251, [null, 6, 22]],
+[6, ["string", "circle"], 517, 263, [5, null]],
+[7, ["repeat", 0], 798, 534, [21, 8, 11, null]],
+[8, ["number", 10.0], 857, 534, [7, null]],
+[9, ["storein", 0], 798, 408, [32, 10, 19, 21]],
+[10, ["string", "diameter"], 866, 408, [9, null]],
+[11, "stack", 816, 576, [7, 12, null]],
+[12, ["string", "circle"], 874, 576, [11, null]],
+[13, "box", 571, 473, [15, 14, null]],
+[14, ["string", "diameter"], 626, 473, [13, null]],
+[15, ["plus2", 0], 517, 431, [28, 29, 13]],
+[16, "box", 587, 347, [25, 17, null]],
+[17, ["string", "diameter"], 642, 347, [16, null]],
+[18, "width", 936, 450, [19, null]],
+[19, ["division2", 0], 866, 450, [9, 18, 20]],
+[20, ["number", 10.0], 960, 492, [19, null]],
+[21, ["vspace", 0], 798, 492, [9, 7]],
+[22, ["arc", 0], 459, 305, [5, 23, 25, 26]],
+[23, ["number", 360.0], 517, 305, [22, null]],
+[24, ["number", 2.0], 611, 389, [25, null]],
+[25, ["division2", 0], 517, 347, [22, 16, 24]],
+[26, "penup", 459, 389, [22, 28]],
+[27, "pendown", 459, 555, [28, null]],
+[28, ["setxy2", 20], 459, 431, [26, 15, 30, 27]],
+[29, "xcor", 571, 431, [15, null]],
+[30, "ycor", 517, 513, [28, null]],
+[31, "penup", 798, 240, [1, 33]],
+[32, "pendown", 798, 366, [33, 9]],
+[33, ["setxy2", 0], 798, 282, [31, 35, 34, 32]],
+[34, ["number", 0], 856, 324, [33, null]],
+[35, "leftpos", 856, 282, [33, null]]]
diff --git a/samples/card-05.tb b/samples/card-05.tb
new file mode 100644
index 0000000..0ae9310
--- /dev/null
+++ b/samples/card-05.tb
@@ -0,0 +1,33 @@
+[[0, ["start", 2.0], 180, 120, [null, 1]],
+[1, "fillscreen2", 180, 166, [0, 2, 3, 4, 21]],
+[2, ["number", 60], 262, 166, [1, null]],
+[3, ["number", 80], 262, 208, [1, null]],
+[4, ["number", 100], 262, 250, [1, null]],
+[5, ["repeat", 21], 940, 394, [9, 6, 19, null]],
+[6, ["number", 5.0], 999, 394, [5, null]],
+[7, ["repeat", 21], 940, 174, [11, 8, 13, null]],
+[8, ["number", 4], 999, 174, [7, null]],
+[9, "hat", 940, 340, [null, 10, 5]],
+[10, ["string", "spinner"], 998, 352, [9, null]],
+[11, "hat", 940, 120, [null, 12, 7]],
+[12, ["string", "square"], 998, 132, [11, null]],
+[13, "forward", 958, 216, [7, 14, 15]],
+[14, ["number", 200.0], 1029, 216, [13, null]],
+[15, "right", 958, 258, [13, 16, null]],
+[16, ["number", 90], 1016, 258, [15, null]],
+[17, "right", 958, 478, [19, 18, null]],
+[18, ["number", 72.0], 1016, 478, [17, null]],
+[19, "stack", 958, 436, [5, 20, 17]],
+[20, ["string", "square"], 1016, 436, [19, null]],
+[21, "setpensize", 180, 292, [1, 22, 31]],
+[22, ["number", 25.0], 282, 292, [21, null]],
+[23, "setpensize", 180, 418, [27, 24, 25]],
+[24, ["number", 5], 282, 418, [23, null]],
+[25, "setcolor", 180, 460, [23, 26, 29]],
+[26, "yellow", 257, 460, [25, null]],
+[27, "stack", 180, 376, [31, 28, 23]],
+[28, ["string", "spinner"], 238, 376, [27, null]],
+[29, "stack", 180, 502, [25, 30, null]],
+[30, ["string", "spinner"], 238, 502, [29, null]],
+[31, "setcolor", 180, 334, [21, 32, 27]],
+[32, "red", 257, 334, [31, null]]]
diff --git a/samples/card-06.tb b/samples/card-06.tb
new file mode 100644
index 0000000..c1742bb
--- /dev/null
+++ b/samples/card-06.tb
@@ -0,0 +1,11 @@
+[[0, ["start", 2.0], 420, 200, [null, 1]],
+[1, "fillscreen2", 420, 246, [0, 2, 3, 4, 5]],
+[2, ["number", 60], 502, 246, [1, null]],
+[3, ["number", 80], 502, 288, [1, null]],
+[4, ["number", 100], 502, 330, [1, null]],
+[5, ["arc", 0], 420, 372, [1, 6, 7, 8]],
+[6, ["number", 180.0], 478, 372, [5, null]],
+[7, ["number", 100], 478, 414, [5, null]],
+[8, ["arc", 0], 420, 456, [5, 9, 10, null]],
+[9, ["number", -180.0], 478, 456, [8, null]],
+[10, ["number", 100], 478, 498, [8, null]]]
diff --git a/samples/card-07.tb b/samples/card-07.tb
new file mode 100644
index 0000000..67ad291
--- /dev/null
+++ b/samples/card-07.tb
@@ -0,0 +1,21 @@
+[[0, ["start", 2.0], 420, 80, [null, 1]],
+[1, "fillscreen2", 420, 126, [0, 2, 3, 4, 13]],
+[2, ["number", 60], 502, 126, [1, null]],
+[3, ["number", 80], 502, 168, [1, null]],
+[4, ["number", 100], 502, 210, [1, null]],
+[5, ["arc", 0], 420, 336, [11, 6, 7, 15]],
+[6, ["number", 180.0], 478, 336, [5, null]],
+[7, ["number", 100], 478, 378, [5, null]],
+[8, ["arc", 0], 420, 546, [19, 9, 10, null]],
+[9, ["number", -180.0], 478, 546, [8, null]],
+[10, ["number", 100], 478, 588, [8, null]],
+[11, "setcolor", 420, 294, [13, 17, 5]],
+[12, "setcolor", 420, 462, [15, 18, 19]],
+[13, "setpensize", 420, 252, [1, 14, 11]],
+[14, ["number", 25.0], 522, 252, [13, null]],
+[15, "setpensize", 420, 420, [5, 16, 12]],
+[16, ["number", 10.0], 522, 420, [15, null]],
+[17, "red", 497, 294, [11, null]],
+[18, "yellow", 497, 462, [12, null]],
+[19, "right", 420, 504, [12, 20, 8]],
+[20, ["number", 180.0], 478, 504, [19, null]]]
diff --git a/samples/card-08.tb b/samples/card-08.tb
new file mode 100644
index 0000000..0496e30
--- /dev/null
+++ b/samples/card-08.tb
@@ -0,0 +1,54 @@
+[[0, ["start", 2.0], 460, 60, [null, 1]],
+[1, "fillscreen2", 460, 106, [0, 2, 3, 4, 5]],
+[2, ["number", 60], 542, 106, [1, null]],
+[3, ["number", 80], 542, 148, [1, null]],
+[4, ["number", 100], 542, 190, [1, null]],
+[5, ["storein", 0], 460, 232, [1, 6, 7, 8]],
+[6, ["string", "sides"], 528, 232, [5, null]],
+[7, ["number", 3.0], 528, 274, [5, null]],
+[8, "penup", 460, 316, [5, 20]],
+[9, "pendown", 460, 482, [20, 12]],
+[10, "hat", 780, 60, [null, 11, 37]],
+[11, ["string", "action"], 838, 72, [10, null]],
+[12, "stack", 460, 524, [9, 13, null]],
+[13, ["string", "action"], 518, 524, [12, null]],
+[14, ["plus2", 0], 518, 358, [20, 18, 16]],
+[15, ["plus2", 0], 518, 440, [20, 19, 17]],
+[16, ["number", 75.0], 572, 400, [14, null]],
+[17, ["number", 75.0], 572, 482, [15, null]],
+[18, "leftpos", 572, 358, [14, null]],
+[19, "bottompos", 572, 440, [15, null]],
+[20, ["setxy2", 20], 460, 358, [8, 14, 15, 9]],
+[21, "hat", 60, 260, [null, 22, 28]],
+[22, ["string", "polygon"], 118, 272, [21, null]],
+[23, ["repeat", 21], 60, 356, [28, 24, 26, 29]],
+[24, "box", 119, 356, [23, 25, null]],
+[25, ["string", "sides"], 174, 356, [24, null]],
+[26, "forward", 78, 398, [23, 27, 30]],
+[27, ["number", 75.0], 149, 398, [26, null]],
+[28, "startfill", 60, 314, [21, 23]],
+[29, "stopfill", 60, 500, [23, null]],
+[30, "right", 78, 440, [26, 32, null]],
+[31, ["number", 360.0], 206, 440, [32, null]],
+[32, ["division2", 0], 136, 440, [30, 31, 33]],
+[33, "box", 230, 482, [32, 34, null]],
+[34, ["string", "sides"], 285, 482, [33, null]],
+[35, "stack", 798, 156, [37, 36, 39]],
+[36, ["string", "polygon"], 856, 156, [35, null]],
+[37, ["repeat", 146], 780, 114, [10, 38, 35, null]],
+[38, ["number", 5.0], 839, 114, [37, null]],
+[39, ["storein", 0], 798, 198, [35, 40, 44, 48]],
+[40, ["string", "sides"], 866, 198, [39, null]],
+[41, ["number", 1.0], 920, 282, [44, null]],
+[42, "box", 920, 240, [44, 43, null]],
+[43, ["string", "sides"], 975, 240, [42, null]],
+[44, ["plus2", 0], 866, 240, [39, 42, 41]],
+[45, ["setxy2", 20], 798, 324, [48, 51, 50, 49]],
+[46, ["number", 100.0], 910, 366, [51, null]],
+[47, ["number", 100.0], 910, 448, [50, null]],
+[48, "penup", 798, 282, [39, 45]],
+[49, "pendown", 798, 448, [45, null]],
+[50, ["plus2", 0], 856, 406, [45, 53, 47]],
+[51, ["plus2", 0], 856, 324, [45, 52, 46]],
+[52, "xcor", 910, 324, [51, null]],
+[53, "ycor", 910, 406, [50, null]]]
diff --git a/samples/card-09.tb b/samples/card-09.tb
new file mode 100644
index 0000000..d8aa2af
--- /dev/null
+++ b/samples/card-09.tb
@@ -0,0 +1,21 @@
+[[0, ["start", 2.0], 740, 100, [null, 1]],
+[1, "fillscreen2", 740, 146, [0, 2, 3, 4, 5]],
+[2, ["number", 60], 822, 146, [1, null]],
+[3, ["number", 80], 822, 188, [1, null]],
+[4, ["number", 100], 822, 230, [1, null]],
+[5, ["storein", 0], 740, 272, [1, 6, 7, 14]],
+[6, ["string", "side"], 808, 272, [5, null]],
+[7, ["number", 10.0], 808, 314, [5, null]],
+[8, ["storein", 0], 758, 482, [17, 9, 13, null]],
+[9, ["string", "side"], 826, 482, [8, null]],
+[10, ["number", 10.0], 880, 566, [13, null]],
+[11, "box", 880, 524, [13, 12, null]],
+[12, ["string", "side"], 935, 524, [11, null]],
+[13, ["plus2", 0], 826, 524, [8, 11, 10]],
+[14, ["repeat", 63], 740, 356, [5, 15, 16, null]],
+[15, ["number", 40.0], 799, 356, [14, null]],
+[16, "forward", 758, 398, [14, 19, 17]],
+[17, "right", 758, 440, [16, 18, 8]],
+[18, ["number", 89.0], 816, 440, [17, null]],
+[19, "box", 829, 398, [16, 20, null]],
+[20, ["string", "side"], 884, 398, [19, null]]]
diff --git a/samples/card-10.tb b/samples/card-10.tb
new file mode 100644
index 0000000..80fefe2
--- /dev/null
+++ b/samples/card-10.tb
@@ -0,0 +1,61 @@
+[[0, ["start", 2.0], 820, 60, [null, 1]],
+[1, "fillscreen2", 820, 106, [0, 2, 3, 4, 24]],
+[2, ["number", 60], 902, 106, [1, null]],
+[3, ["number", 80], 902, 148, [1, null]],
+[4, ["number", 100], 902, 190, [1, null]],
+[5, ["repeat", 21], 1060, 274, [9, 6, 18, null]],
+[6, ["number", 10.0], 1119, 274, [5, null]],
+[7, ["repeat", 21], 1060, 494, [11, 8, 13, null]],
+[8, ["number", 4], 1119, 494, [7, null]],
+[9, "hat", 1060, 220, [null, 10, 5]],
+[10, ["string", "spinner"], 1118, 232, [9, null]],
+[11, "hat", 1060, 440, [null, 12, 7]],
+[12, ["string", "square"], 1118, 452, [11, null]],
+[13, "forward", 1078, 536, [7, 22, 14]],
+[14, "right", 1078, 578, [13, 15, null]],
+[15, ["number", 90], 1136, 578, [14, null]],
+[16, "right", 1078, 358, [18, 17, null]],
+[17, ["number", 36.0], 1136, 358, [16, null]],
+[18, "stack", 1078, 316, [5, 19, 16]],
+[19, ["string", "square"], 1136, 316, [18, null]],
+[20, ["number", 3.0], 349, 198, [36, null]],
+[21, "setcolor", 178, 156, [38, 36, 40]],
+[22, "box", 1149, 536, [13, 23, null]],
+[23, ["string", "side"], 1204, 536, [22, null]],
+[24, ["storein", 0], 820, 232, [1, 25, 26, 27]],
+[25, ["string", "side"], 888, 232, [24, null]],
+[26, ["number", 0.0], 888, 274, [24, null]],
+[27, ["storein", 0], 820, 316, [24, 28, 29, 32]],
+[28, ["string", "pen"], 888, 316, [27, null]],
+[29, ["number", 0.0], 888, 358, [27, null]],
+[30, "hat", 160, 60, [null, 31, 38]],
+[31, ["string", "action"], 218, 72, [30, null]],
+[32, "stack", 820, 400, [27, 33, null]],
+[33, ["string", "action"], 878, 400, [32, null]],
+[34, "setshade", 178, 240, [40, 37, 41]],
+[35, ["number", 100.0], 336, 240, [37, null]],
+[36, ["division2", 0], 255, 156, [21, 42, 20]],
+[37, ["minus2", 0], 263, 240, [34, 35, 44]],
+[38, ["repeat", 189], 160, 114, [30, 39, 21, null]],
+[39, ["number", 100.0], 219, 114, [38, null]],
+[40, ["vspace", 0], 178, 198, [21, 34]],
+[41, ["vspace", 0], 178, 282, [34, 46]],
+[42, "box", 325, 156, [36, 43, null]],
+[43, ["string", "pen"], 380, 156, [42, null]],
+[44, "box", 360, 282, [37, 45, null]],
+[45, ["string", "pen"], 415, 282, [44, null]],
+[46, "stack", 178, 324, [41, 47, 48]],
+[47, ["string", "spinner"], 236, 324, [46, null]],
+[48, ["storein", 0], 178, 366, [46, 49, 58, 60]],
+[49, ["string", "pen"], 246, 366, [48, null]],
+[50, ["number", 1.0], 300, 450, [58, null]],
+[51, ["storein", 0], 178, 492, [60, 52, 59, null]],
+[52, ["string", "side"], 246, 492, [51, null]],
+[53, ["number", 2.0], 300, 576, [59, null]],
+[54, "box", 300, 534, [59, 55, null]],
+[55, ["string", "side"], 355, 534, [54, null]],
+[56, "box", 300, 408, [58, 57, null]],
+[57, ["string", "pen"], 355, 408, [56, null]],
+[58, ["plus2", 0], 246, 408, [48, 56, 50]],
+[59, ["plus2", 0], 246, 534, [51, 54, 53]],
+[60, ["vspace", 0], 178, 450, [48, 51]]]
diff --git a/samples/card-11.tb b/samples/card-11.tb
new file mode 100644
index 0000000..6653524
--- /dev/null
+++ b/samples/card-11.tb
@@ -0,0 +1,43 @@
+[[0, ["start", 2.0], 400, 200, [null, 37]],
+[1, "forward", 436, 372, [19, 2, 3]],
+[2, "width", 507, 372, [1, null]],
+[3, "back", 436, 414, [1, 4, 21]],
+[4, "width", 494, 414, [3, null]],
+[5, "setpensize", 660, 254, [25, 8, 13]],
+[6, ["number", 1], 859, 296, [8, null]],
+[7, "pensize", 835, 254, [8, null]],
+[8, ["minus2", 0], 762, 254, [5, 7, 6]],
+[9, "setshade", 660, 338, [13, 12, null]],
+[10, ["number", 4], 799, 380, [12, null]],
+[11, "shade", 799, 338, [12, null]],
+[12, ["plus2", 0], 745, 338, [9, 11, 10]],
+[13, ["vspace", 0], 660, 296, [5, 9]],
+[14, "setcolor", 140, 590, [23, 32, 15]],
+[15, "setshade", 140, 632, [14, 16, null]],
+[16, ["number", 0], 225, 632, [15, null]],
+[17, ["repeat", 93], 400, 288, [37, 18, 19, null]],
+[18, ["number", 25], 459, 288, [17, null]],
+[19, ["repeat", 42], 418, 330, [17, 20, 1, 27]],
+[20, ["number", 30], 477, 330, [19, null]],
+[21, "right", 436, 456, [3, 22, null]],
+[22, ["number", 12], 494, 456, [21, null]],
+[23, "setpensize", 140, 548, [34, 24, 14]],
+[24, ["number", 30.0], 242, 548, [23, null]],
+[25, "hat", 660, 200, [null, 26, 5]],
+[26, ["string", "update pen"], 718, 212, [25, null]],
+[27, "stack", 418, 516, [19, 28, null]],
+[28, ["string", "update pen"], 476, 516, [27, null]],
+[29, ["setxy2", 0], 140, 422, [33, 30, 31, 34]],
+[30, ["number", -200], 198, 422, [29, null]],
+[31, ["number", -100], 198, 464, [29, null]],
+[32, ["number", 15], 217, 590, [14, null]],
+[33, "penup", 140, 380, [39, 29]],
+[34, "pendown", 140, 506, [29, 23]],
+[35, "hat", 140, 200, [null, 36, 39]],
+[36, ["string", "setup"], 198, 212, [35, null]],
+[37, "stack", 400, 246, [0, 38, 17]],
+[38, ["string", "setup"], 458, 246, [37, null]],
+[39, "fillscreen2", 140, 254, [35, 40, 41, 42, 33]],
+[40, ["number", 60], 222, 254, [39, null]],
+[41, ["number", 80], 222, 296, [39, null]],
+[42, ["number", 100], 222, 338, [39, null]]]
diff --git a/samples/card-12.tb b/samples/card-12.tb
new file mode 100644
index 0000000..9da4065
--- /dev/null
+++ b/samples/card-12.tb
@@ -0,0 +1,42 @@
+[[0, ["start", 2.0], 180, 180, [null, 1]],
+[1, "fillscreen2", 180, 226, [0, 2, 3, 4, 5]],
+[2, ["number", 60], 262, 226, [1, null]],
+[3, ["number", 80], 262, 268, [1, null]],
+[4, ["number", 100], 262, 310, [1, null]],
+[5, "penup", 180, 352, [1, 7]],
+[6, "pendown", 180, 478, [7, 10]],
+[7, ["setxy2", 0], 180, 394, [5, 8, 9, 6]],
+[8, ["number", -100.0], 238, 394, [7, null]],
+[9, ["number", 200.0], 238, 436, [7, null]],
+[10, "setpensize", 180, 520, [6, 11, 14]],
+[11, ["number", 30.0], 282, 520, [10, null]],
+[12, "hat", 460, 180, [null, 13, 16]],
+[13, ["string", "action"], 518, 192, [12, null]],
+[14, "stack", 180, 562, [10, 15, null]],
+[15, ["string", "action"], 238, 562, [14, null]],
+[16, ["repeat", 84], 460, 234, [12, 17, 20, null]],
+[17, ["number", 5.0], 519, 234, [16, null]],
+[18, "hat", 794, 183, [null, 19, 33]],
+[19, ["string", "line"], 852, 195, [18, null]],
+[20, "stack", 478, 276, [16, 21, 22]],
+[21, ["string", "line"], 536, 276, [20, null]],
+[22, "penup", 478, 318, [20, 24]],
+[23, "pendown", 478, 444, [24, null]],
+[24, ["setxy2", 0], 478, 360, [22, 25, 28, 23]],
+[25, ["number", -100.0], 536, 360, [24, null]],
+[26, ["number", 60.0], 633, 444, [28, null]],
+[27, "ycor", 609, 402, [28, null]],
+[28, ["minus2", 0], 536, 402, [24, 27, 26]],
+[29, "forward", 812, 279, [33, 30, 31]],
+[30, ["number", 1.0], 883, 279, [29, null]],
+[31, "back", 812, 321, [29, 32, 35]],
+[32, ["number", 1.0], 870, 321, [31, null]],
+[33, ["repeat", 125], 794, 237, [18, 34, 29, null]],
+[34, ["number", 5.0], 853, 237, [33, null]],
+[35, "penup", 812, 363, [31, 37]],
+[36, "pendown", 812, 529, [37, null]],
+[37, ["setxy2", 20], 812, 405, [35, 41, 39, 36]],
+[38, ["number", 60.0], 924, 447, [41, null]],
+[39, "ycor", 870, 487, [37, null]],
+[40, "xcor", 924, 405, [41, null]],
+[41, ["plus2", 0], 870, 405, [37, 40, 38]]]
diff --git a/samples/card-13.tb b/samples/card-13.tb
new file mode 100644
index 0000000..81dcce1
--- /dev/null
+++ b/samples/card-13.tb
@@ -0,0 +1,24 @@
+[[0, ["start", 2.0], 889, 47, [null, 1]],
+[1, "fillscreen2", 889, 93, [0, 2, 3, 4, 5]],
+[2, ["number", 60], 971, 93, [1, null]],
+[3, ["number", 80], 971, 135, [1, null]],
+[4, ["number", 100], 971, 177, [1, null]],
+[5, ["repeat", 146], 889, 219, [1, 6, 12, null]],
+[6, ["number", 10.0], 948, 219, [5, null]],
+[7, "penup", 907, 303, [12, 11]],
+[8, "pendown", 907, 469, [11, 22]],
+[9, "forward", 907, 553, [22, 10, null]],
+[10, ["number", 1.0], 978, 553, [9, null]],
+[11, ["setxy2", 20], 907, 345, [7, 16, 19, 8]],
+[12, "setpensize", 907, 261, [5, 13, 7]],
+[13, ["random", 0], 1009, 261, [12, 14, 15, null]],
+[14, ["number", 10.0], 1095, 261, [13, null]],
+[15, ["number", 100.0], 1095, 303, [13, null]],
+[16, ["random", 0], 965, 345, [11, 17, 18, null]],
+[17, ["number", -200.0], 1051, 345, [16, null]],
+[18, ["number", 200.0], 1051, 387, [16, null]],
+[19, ["random", 0], 965, 427, [11, 20, 21, null]],
+[20, ["number", -150.0], 1051, 427, [19, null]],
+[21, ["number", 150.0], 1051, 469, [19, null]],
+[22, "setshade", 907, 511, [8, 23, 9]],
+[23, "pensize", 992, 511, [22, null]]]
diff --git a/samples/card-14.tb b/samples/card-14.tb
new file mode 100644
index 0000000..2ef9d09
--- /dev/null
+++ b/samples/card-14.tb
@@ -0,0 +1,24 @@
+[[0, ["start", 2.0], 900, 80, [null, 7]],
+[1, ["repeat", 84], 900, 336, [12, 2, 3, null]],
+[2, ["number", 200.0], 959, 336, [1, null]],
+[3, "forward", 918, 378, [1, 4, 5]],
+[4, ["number", 1.0], 989, 378, [3, null]],
+[5, "back", 918, 420, [3, 6, 15]],
+[6, ["number", 1.0], 976, 420, [5, null]],
+[7, "fillscreen2", 900, 126, [0, 8, 9, 10, 11]],
+[8, ["number", 60], 982, 126, [7, null]],
+[9, ["number", 80], 982, 168, [7, null]],
+[10, ["number", 100], 982, 210, [7, null]],
+[11, "setcolor", 900, 252, [7, 14, 12]],
+[12, "setpensize", 900, 294, [11, 13, 1]],
+[13, ["number", 400.0], 1002, 294, [12, null]],
+[14, "white", 977, 252, [11, null]],
+[15, "setshade", 918, 462, [5, 21, 23]],
+[16, ["number", 0.5], 1100, 504, [21, null]],
+[17, "setpensize", 918, 546, [23, 22, null]],
+[18, ["number", 2.0], 1117, 588, [22, null]],
+[19, "pensize", 1093, 546, [22, null]],
+[20, "shade", 1076, 462, [21, null]],
+[21, ["minus2", 0], 1003, 462, [15, 20, 16]],
+[22, ["minus2", 0], 1020, 546, [17, 19, 18]],
+[23, ["vspace", 0], 918, 504, [15, 17]]]
diff --git a/samples/card-15.tb b/samples/card-15.tb
new file mode 100644
index 0000000..7e3a61b
--- /dev/null
+++ b/samples/card-15.tb
@@ -0,0 +1,13 @@
+[[0, ["start", 2.0], 900, 140, [null, 9]],
+[1, "forward", 918, 354, [7, 2, 3]],
+[2, ["number", 200.0], 989, 354, [1, null]],
+[3, "back", 918, 396, [1, 4, 5]],
+[4, ["number", 160.0], 976, 396, [3, null]],
+[5, "right", 918, 438, [3, 6, null]],
+[6, ["number", 60.0], 976, 438, [5, null]],
+[7, ["repeat", 42], 900, 312, [9, 8, 1, null]],
+[8, ["number", 6.0], 959, 312, [7, null]],
+[9, "fillscreen2", 900, 186, [0, 10, 11, 12, 7]],
+[10, ["number", 60], 982, 186, [9, null]],
+[11, ["number", 80], 982, 228, [9, null]],
+[12, ["number", 100], 982, 270, [9, null]]]
diff --git a/samples/card-16.tb b/samples/card-16.tb
new file mode 100644
index 0000000..f3d607a
--- /dev/null
+++ b/samples/card-16.tb
@@ -0,0 +1,29 @@
+[[0, ["start", 2.0], 220, 220, [null, 1]],
+[1, "fillscreen2", 220, 266, [0, 2, 3, 4, 5]],
+[2, ["number", 60], 302, 266, [1, null]],
+[3, ["number", 80], 302, 308, [1, null]],
+[4, ["number", 100], 302, 350, [1, null]],
+[5, "setpensize", 220, 392, [1, 6, 9]],
+[6, ["number", 25.0], 322, 392, [5, null]],
+[7, "hat", 900, 120, [null, 8, 11]],
+[8, ["string", "action"], 958, 132, [7, null]],
+[9, "stack", 220, 434, [5, 10, null]],
+[10, ["string", "action"], 278, 434, [9, null]],
+[11, ["repeat", 145], 900, 174, [7, 12, 13, null]],
+[12, ["number", 40.0], 959, 174, [11, null]],
+[13, "penup", 918, 216, [11, 15]],
+[14, "pendown", 918, 464, [28, 17]],
+[15, ["setxy2", 40], 918, 258, [13, 22, 26, 28]],
+[16, ["number", 50.0], 1030, 258, [22, null]],
+[17, "forward", 918, 506, [14, 18, null]],
+[18, ["number", 1.0], 989, 506, [17, null]],
+[19, ["random", 0], 1030, 300, [22, 20, 21, null]],
+[20, ["number", -4.0], 1116, 300, [19, null]],
+[21, ["number", 4.0], 1116, 342, [19, null]],
+[22, ["product2", 0], 976, 258, [15, 16, 19]],
+[23, ["random", 0], 1030, 422, [26, 24, 25, null]],
+[24, ["number", -3.0], 1116, 422, [23, null]],
+[25, ["number", 3.0], 1116, 464, [23, null]],
+[26, ["product2", 0], 976, 380, [15, 27, 23]],
+[27, ["number", 50.0], 1030, 380, [26, null]],
+[28, ["vspace", 0], 918, 422, [15, 14]]]
diff --git a/samples/card-17.tb b/samples/card-17.tb
new file mode 100644
index 0000000..7213132
--- /dev/null
+++ b/samples/card-17.tb
@@ -0,0 +1,54 @@
+[[0, ["start", 2.0], 205, 160, [null, 1]],
+[1, "fillscreen2", 205, 206, [0, 2, 3, 4, 50]],
+[2, ["number", 60], 287, 206, [1, null]],
+[3, ["number", 80], 287, 248, [1, null]],
+[4, ["number", 100], 287, 290, [1, null]],
+[5, ["storein", 0], 205, 374, [50, 6, 7, 34]],
+[6, ["string", "sides"], 273, 374, [5, null]],
+[7, ["number", 8.0], 273, 416, [5, null]],
+[8, "hat", 969, 161, [null, 9, 27]],
+[9, ["string", "action"], 1027, 173, [8, null]],
+[10, "stack", 205, 542, [34, 11, null]],
+[11, ["string", "action"], 263, 542, [10, null]],
+[12, "hat", 452, 334, [null, 13, 18]],
+[13, ["string", "polygon"], 510, 346, [12, null]],
+[14, ["repeat", 21], 452, 430, [18, 15, 17, 19]],
+[15, "box", 511, 430, [14, 16, null]],
+[16, ["string", "sides"], 566, 430, [15, null]],
+[17, "forward", 470, 472, [14, 37, 20]],
+[18, "startfill", 452, 388, [12, 14]],
+[19, "stopfill", 452, 574, [14, null]],
+[20, "right", 470, 514, [17, 22, null]],
+[21, ["number", 360], 598, 514, [22, null]],
+[22, ["division2", 0], 528, 514, [20, 21, 23]],
+[23, "box", 622, 556, [22, 24, null]],
+[24, ["string", "sides"], 677, 556, [23, null]],
+[25, "stack", 987, 257, [27, 26, 29]],
+[26, ["string", "polygon"], 1045, 257, [25, null]],
+[27, ["repeat", 147], 969, 215, [8, 28, 25, null]],
+[28, ["number", 6.0], 1028, 215, [27, null]],
+[29, ["storein", 0], 987, 299, [25, 30, 52, 44]],
+[30, ["string", "sides"], 1055, 299, [29, null]],
+[31, ["number", 1.0], 1152, 383, [52, null]],
+[32, "box", 1128, 341, [52, 33, null]],
+[33, ["string", "sides"], 1183, 341, [32, null]],
+[34, ["storein", 0], 205, 458, [5, 35, 36, 10]],
+[35, ["string", "length"], 273, 458, [34, null]],
+[36, ["number", 200.0], 273, 500, [34, null]],
+[37, "box", 541, 472, [17, 38, null]],
+[38, ["string", "length"], 596, 472, [37, null]],
+[39, ["storein", 0], 987, 425, [44, 40, 53, 49]],
+[40, ["string", "length"], 1055, 425, [39, null]],
+[41, ["number", 25.0], 1152, 509, [53, null]],
+[42, "box", 1128, 467, [53, 43, null]],
+[43, ["string", "length"], 1183, 467, [42, null]],
+[44, ["vspace", 0], 987, 383, [29, 39]],
+[45, "setcolor", 987, 551, [49, 48, null]],
+[46, ["number", 15.0], 1118, 593, [48, null]],
+[47, "color", 1118, 551, [48, null]],
+[48, ["plus2", 0], 1064, 551, [45, 47, 46]],
+[49, ["vspace", 0], 987, 509, [39, 45]],
+[50, "setcolor", 205, 332, [1, 51, 5]],
+[51, ["number", 0.0], 282, 332, [50, null]],
+[52, ["minus2", 0], 1055, 341, [29, 32, 31]],
+[53, ["minus2", 0], 1055, 467, [39, 42, 41]]]
diff --git a/samples/game-continents.ta b/samples/game-continents.ta
index f56d5d9..fbbafc2 100644
--- a/samples/game-continents.ta
+++ b/samples/game-continents.ta
@@ -1,263 +1,263 @@
-[[0, "hat", 449, 231, [null, 136, 250]],
-[1, ["storein", 0], 467, 319, [250, 42, 54, 2]],
-[2, ["storein", 0], 467, 403, [1, 43, 55, 3]],
-[3, ["storein", 0], 467, 487, [2, 4, 51, 5]],
-[4, ["string", "size"], 535, 487, [3, null]],
-[5, ["storein", 0], 467, 571, [3, 6, 48, 7]],
-[6, ["string", "name"], 535, 571, [5, null]],
-[7, ["storein", 0], 467, 655, [5, 8, 99, 9]],
-[8, ["string", "picture"], 535, 655, [7, null]],
-[9, "stack", 467, 739, [7, 151, null]],
-[10, "hat", 112, 364, [null, 155, 239]],
-[11, ["setxy2", 0], 130, 536, [252, 12, 258, 253]],
-[12, ["number", 0], 188, 536, [11, null]],
-[13, "show", 130, 704, [259, 14, 254]],
-[14, ["plus2", 0], 188, 704, [13, 15, 16]],
-[15, ["string", "Put the turtle in "], 242, 704, [14, null]],
-[16, "box", 242, 746, [14, 17, null]],
-[17, ["string", "name"], 297, 746, [16, null]],
-[18, "hat", 560, 322, [null, 138, 248]],
-[19, ["storein", 0], 578, 410, [248, 44, 56, 20]],
-[20, ["storein", 0], 578, 494, [19, 45, 57, 21]],
-[21, ["storein", 0], 578, 578, [20, 22, 52, 23]],
-[22, ["string", "size"], 646, 578, [21, null]],
-[23, ["storein", 0], 578, 662, [21, 24, 49, 25]],
-[24, ["string", "name"], 646, 662, [23, null]],
-[25, ["storein", 0], 578, 746, [23, 26, 100, 27]],
-[26, ["string", "picture"], 646, 746, [25, null]],
-[27, "stack", 578, 830, [25, 153, null]],
-[28, "hat", 451, 422, [null, 139, 247]],
-[29, ["storein", 0], 469, 510, [247, 46, 74, 30]],
-[30, ["storein", 0], 469, 594, [29, 47, 75, 31]],
-[31, ["storein", 0], 469, 678, [30, 32, 53, 33]],
-[32, ["string", "size"], 537, 678, [31, null]],
-[33, ["storein", 0], 469, 762, [31, 34, 50, 35]],
-[34, ["string", "name"], 537, 762, [33, null]],
-[35, ["storein", 0], 469, 846, [33, 36, 101, 37]],
-[36, ["string", "picture"], 537, 846, [35, null]],
-[37, "stack", 469, 930, [35, 154, null]],
-[38, "hat", 674, 214, [null, 39, 240]],
-[39, ["string", "map"], 732, 226, [38, null]],
-[40, "setscale", 692, 302, [240, 41, 165]],
-[41, ["number", 100], 769, 302, [40, null]],
-[42, ["string", "x"], 535, 319, [1, null]],
-[43, ["string", "y"], 535, 403, [2, null]],
-[44, ["string", "x"], 646, 410, [19, null]],
-[45, ["string", "y"], 646, 494, [20, null]],
-[46, ["string", "x"], 537, 510, [29, null]],
-[47, ["string", "y"], 537, 594, [30, null]],
-[48, ["string", "Africa"], 535, 613, [5, null]],
-[49, ["string", "North America"], 646, 704, [23, null]],
-[50, ["string", "Eurasia"], 537, 804, [33, null]],
-[51, ["number", 100], 535, 529, [3, null]],
-[52, ["number", 150], 646, 620, [21, null]],
-[53, ["number", 150], 537, 720, [31, null]],
-[54, ["number", 20], 535, 361, [1, null]],
-[55, ["number", 40], 535, 445, [2, null]],
-[56, ["number", -350], 646, 452, [19, null]],
-[57, ["number", 200], 646, 536, [20, null]],
-[58, "hat", 222, 251, [null, 135, 251]],
-[59, ["storein", 0], 240, 339, [251, 60, 61, 62]],
-[60, ["string", "x"], 308, 339, [59, null]],
-[61, ["number", -300], 308, 381, [59, null]],
-[62, ["storein", 0], 240, 423, [59, 63, 64, 65]],
-[63, ["string", "y"], 308, 423, [62, null]],
-[64, ["number", -50], 308, 465, [62, null]],
-[65, ["storein", 0], 240, 507, [62, 66, 67, 68]],
-[66, ["string", "size"], 308, 507, [65, null]],
-[67, ["number", 100], 308, 549, [65, null]],
-[68, ["storein", 0], 240, 591, [65, 69, 70, 71]],
-[69, ["string", "name"], 308, 591, [68, null]],
-[70, ["string", "South America"], 308, 633, [68, null]],
-[71, ["storein", 0], 240, 675, [68, 72, 102, 73]],
-[72, ["string", "picture"], 308, 675, [71, null]],
-[73, "stack", 240, 759, [71, 150, null]],
-[74, ["number", 250], 537, 552, [29, null]],
-[75, ["number", 200], 537, 636, [30, null]],
-[76, "hat", 334, 338, [null, 137, 249]],
-[77, ["storein", 0], 352, 426, [249, 78, 79, 80]],
-[78, ["string", "x"], 420, 426, [77, null]],
-[79, ["number", 390], 420, 468, [77, null]],
-[80, ["storein", 0], 352, 510, [77, 81, 82, 83]],
-[81, ["string", "y"], 420, 510, [80, null]],
-[82, ["number", -75], 420, 552, [80, null]],
-[83, ["storein", 0], 352, 594, [80, 84, 85, 86]],
-[84, ["string", "size"], 420, 594, [83, null]],
-[85, ["number", 100], 420, 636, [83, null]],
-[86, ["storein", 0], 352, 678, [83, 87, 88, 89]],
-[87, ["string", "name"], 420, 678, [86, null]],
-[88, ["string", "Australia"], 420, 720, [86, null]],
-[89, ["storein", 0], 352, 762, [86, 90, 224, 91]],
-[90, ["string", "picture"], 420, 762, [89, null]],
-[91, "stack", 352, 846, [89, 152, null]],
-[92, ["start", 2.0], 82, 255, [null, 246]],
-[93, "stack", 100, 335, [246, 94, 95]],
-[94, ["string", "setup"], 158, 335, [93, null]],
-[95, "stack", 100, 377, [93, 96, 97]],
-[96, ["string", "map"], 158, 377, [95, null]],
-[97, "stack", 100, 419, [95, 140, 98]],
-[98, "stack", 100, 461, [97, 141, 142]],
-[99, ["journal", "./samples/images/Africa.png"], 535, 697, [7, null]],
-[100, ["journal", "./samples/images/North_America.png"], 646, 788, [25, null]],
-[101, ["journal", "./samples/images/Eurasia.png"], 537, 888, [35, null]],
-[102, ["journal", "./samples/images/South_America.png"], 308, 717, [71, null]],
-[103, "hat", 692, 391, [null, 104, 245]],
-[104, ["string", "star"], 750, 403, [103, null]],
-[105, "setpensize", 710, 479, [245, 106, 107]],
-[106, ["number", 15], 812, 479, [105, null]],
-[107, ["setxy2", 0], 710, 521, [105, 108, 109, 110]],
-[108, ["number", 0], 768, 521, [107, null]],
-[109, ["number", 0], 768, 563, [107, null]],
-[110, ["repeat", 63], 710, 605, [107, 111, 226, 225]],
-[111, ["number", 5], 769, 605, [110, null]],
-[112, "setcolor", 728, 689, [226, 113, 114]],
-[113, "heading", 805, 689, [112, null]],
-[114, "forward", 728, 731, [112, 115, 116]],
-[115, ["number", 200], 799, 731, [114, null]],
-[116, "right", 728, 773, [114, 117, null]],
-[117, ["number", 144], 786, 773, [116, null]],
-[118, ["setxy2", 20.0], 130, 788, [254, 233, 234, 255]],
-[119, ["number", -150], 242, 788, [233, null]],
-[120, ["number", 100], 242, 870, [234, null]],
-[121, ["forever", 252], 130, 954, [255, 122, null]],
-[122, "stack", 148, 988, [121, 123, 230]],
-[123, ["string", "calculate distance"], 206, 988, [122, null]],
-[124, ["if", 147], 148, 1072, [230, 125, 256, 133]],
-[125, ["less2", 0], 204, 1038, [124, 126, 128, null]],
-[126, "box", 250, 1038, [125, 127, null]],
-[127, ["string", "distance"], 305, 1038, [126, null]],
-[128, ["product2", 0], 274, 1080, [125, 129, 131]],
-[129, "box", 328, 1080, [128, 130, null]],
-[130, ["string", "size"], 383, 1080, [129, null]],
-[131, "box", 328, 1122, [128, 132, null]],
-[132, ["string", "scale"], 383, 1122, [131, null]],
-[133, "wait", 148, 1492, [124, 134, null]],
-[134, ["number", 1], 206, 1492, [133, null]],
-[135, ["string", "Q1"], 280, 263, [58, null]],
-[136, ["string", "Q2"], 507, 243, [0, null]],
-[137, ["string", "Q3"], 392, 350, [76, null]],
-[138, ["string", "Q4"], 618, 334, [18, null]],
-[139, ["string", "Q5"], 509, 434, [28, null]],
-[140, ["string", "Q1"], 158, 419, [97, null]],
-[141, ["string", "Q2"], 158, 461, [98, null]],
-[142, "stack", 100, 503, [98, 144, 143]],
-[143, "stack", 100, 545, [142, 145, 146]],
-[144, ["string", "Q3"], 158, 503, [142, null]],
-[145, ["string", "Q4"], 158, 545, [143, null]],
-[146, "stack", 100, 587, [143, 149, 147]],
-[147, "stack", 100, 629, [146, 148, null]],
-[148, ["string", "star"], 158, 629, [147, null]],
-[149, ["string", "Q5"], 158, 587, [146, null]],
-[150, ["string", "go"], 298, 759, [73, null]],
-[151, ["string", "go"], 525, 739, [9, null]],
-[152, ["string", "go"], 410, 846, [91, null]],
-[153, ["string", "go"], 636, 830, [27, null]],
-[154, ["string", "go"], 527, 930, [37, null]],
-[155, ["string", "go"], 170, 376, [10, null]],
-[156, ["setxy2", 0], 166, 1180, [256, 157, 158, 257]],
-[157, ["number", 0], 224, 1180, [156, null]],
-[158, ["number", 0], 224, 1222, [156, null]],
-[159, "setscale", 166, 1306, [257, 160, 261]],
-[160, ["number", 100], 243, 1306, [159, null]],
-[161, "show", 166, 1390, [261, 162, 164]],
-[162, "box", 224, 1390, [161, 163, null]],
-[163, ["string", "picture"], 279, 1390, [162, null]],
-[164, "stopstack", 166, 1432, [161, null]],
-[165, ["setxy2", 0], 692, 344, [40, 166, 167, 168]],
-[166, ["number", 0], 750, 344, [165, null]],
-[167, ["number", 0], 750, 386, [165, null]],
-[168, "show", 692, 428, [165, 169, null]],
-[169, ["journal", "./samples/images/World_Map.png"], 750, 428, [168, null]],
-[170, "hat", 237, 437, [null, 171, 244]],
-[171, ["string", "setup"], 295, 449, [170, null]],
-[172, ["storein", 0], 255, 525, [244, 173, 174, 229]],
-[173, ["string", "scale"], 323, 525, [172, null]],
-[174, ["division2", 0], 323, 567, [172, 175, 176]],
-[175, "height", 377, 567, [174, null]],
-[176, ["number", 900], 401, 609, [174, null]],
-[177, ["storein", 0], 255, 651, [229, 178, 179, 228]],
-[178, ["string", "box"], 323, 651, [177, null]],
-[179, ["product2", 0], 323, 693, [177, 180, 181]],
-[180, ["number", -200], 377, 693, [179, null]],
-[181, "box", 377, 735, [179, 182, null]],
-[182, ["string", "scale"], 432, 735, [181, null]],
-[183, "hideblocks", 255, 777, [228, 184]],
-[184, "clean", 255, 819, [183, 185]],
-[185, "settextsize", 255, 861, [184, 186, null]],
-[186, ["product2", 0], 359, 861, [185, 187, 188]],
-[187, ["number", 24], 413, 861, [186, null]],
-[188, "box", 413, 903, [186, 189, null]],
-[189, ["string", "scale"], 468, 903, [188, null]],
-[190, "hat", 7, 459, [null, 191, 241]],
-[191, ["string", "calculate distance"], 65, 471, [190, null]],
-[192, ["storein", 0], 25, 547, [241, 193, 194, 243]],
-[193, ["string", "dx"], 93, 547, [192, null]],
-[194, ["minus2", 20.0], 93, 589, [192, 195, 200]],
-[195, ["product2", 0], 147, 589, [194, 196, 198]],
-[196, "box", 201, 589, [195, 197, null]],
-[197, ["string", "x"], 256, 589, [196, null]],
-[198, "box", 201, 631, [195, 199, null]],
-[199, ["string", "scale"], 256, 631, [198, null]],
-[200, "xcor", 171, 671, [194, null]],
-[201, ["storein", 0], 25, 713, [243, 202, 203, 242]],
-[202, ["string", "dy"], 93, 713, [201, null]],
-[203, ["minus2", 20.0], 93, 755, [201, 204, 209]],
-[204, ["product2", 0], 147, 755, [203, 205, 207]],
-[205, "box", 201, 755, [204, 206, null]],
-[206, ["string", "y"], 256, 755, [205, null]],
-[207, "box", 201, 797, [204, 208, null]],
-[208, ["string", "scale"], 256, 797, [207, null]],
-[209, "ycor", 171, 837, [203, null]],
-[210, ["storein", 0], 25, 879, [242, 211, 212, null]],
-[211, ["string", "distance"], 93, 879, [210, null]],
-[212, "sqrt", 93, 921, [210, 213]],
-[213, ["plus2", 20.0], 147, 921, [212, 214, 219]],
-[214, ["product2", 0], 201, 921, [213, 215, 217]],
-[215, "box", 255, 921, [214, 216, null]],
-[216, ["string", "dx"], 310, 921, [215, null]],
-[217, "box", 255, 963, [214, 218, null]],
-[218, ["string", "dx"], 310, 963, [217, null]],
-[219, ["product2", 0], 201, 1003, [213, 220, 222]],
-[220, "box", 255, 1003, [219, 221, null]],
-[221, ["string", "dy"], 310, 1003, [220, null]],
-[222, "box", 255, 1045, [219, 223, null]],
-[223, ["string", "dy"], 310, 1045, [222, null]],
-[224, ["journal", "./samples/images/Australia.png"], 420, 804, [89, null]],
-[225, "showblocks", 710, 833, [110, null]],
-[226, "wait", 728, 647, [110, 227, 112]],
-[227, ["number", 1], 786, 647, [226, null]],
-[228, ["vspace", 0], 255, 735, [177, 183]],
-[229, ["vspace", 0], 255, 609, [172, 177]],
-[230, ["vspace", 0], 148, 1030, [122, 124]],
-[231, "setscale", 130, 452, [239, 232, 252]],
-[232, ["number", 50], 207, 452, [231, null]],
-[233, ["product2", 0], 188, 788, [118, 119, 237]],
-[234, ["product2", 0], 188, 870, [118, 120, 235]],
-[235, "box", 242, 912, [234, 236, null]],
-[236, ["string", "scale"], 297, 912, [235, null]],
-[237, "box", 242, 830, [233, 238, null]],
-[238, ["string", "scale"], 297, 830, [237, null]],
-[239, "sandwichclampcollapsed", 112, 418, [10, 231, null]],
-[240, "sandwichclampcollapsed", 674, 268, [38, 40, null]],
-[241, "sandwichclampcollapsed", 7, 513, [190, 192, null]],
-[242, ["vspace", 20], 25, 797, [201, 210]],
-[243, ["vspace", 20], 25, 631, [192, 201]],
-[244, "sandwichclampcollapsed", 237, 491, [170, 172, null]],
-[245, "sandwichclampcollapsed", 692, 445, [103, 105, null]],
-[246, "sandwichclampcollapsed", 82, 301, [92, 93, null]],
-[247, "sandwichclampcollapsed", 451, 476, [28, 29, null]],
-[248, "sandwichclampcollapsed", 560, 376, [18, 19, null]],
-[249, "sandwichclampcollapsed", 334, 392, [76, 77, null]],
-[250, "sandwichclampcollapsed", 449, 285, [0, 1, null]],
-[251, "sandwichclampcollapsed", 222, 305, [58, 59, null]],
-[252, "penup", 130, 494, [231, 11]],
-[253, "pendown", 130, 620, [11, 259]],
-[254, "penup", 130, 746, [13, 118]],
-[255, "pendown", 130, 912, [118, 121]],
-[256, "penup", 166, 1138, [124, 156]],
-[257, "pendown", 166, 1264, [156, 159]],
-[258, ["number", 0], 188, 578, [11, null]],
-[259, "seth", 130, 662, [253, 260, 13]],
-[260, ["number", 0], 188, 662, [259, null]],
-[261, "seth", 166, 1348, [159, 262, 161]],
-[262, ["number", 0], 224, 1348, [261, null]]]
+[[0, "hat", 380, 300, [null, 132, 238]],
+[1, ["storein", 0], 398, 388, [238, 40, 52, 2]],
+[2, ["storein", 0], 398, 472, [1, 41, 53, 3]],
+[3, ["storein", 0], 398, 556, [2, 4, 49, 5]],
+[4, ["string", "size"], 465, 556, [3, null]],
+[5, ["storein", 0], 398, 640, [3, 6, 46, 7]],
+[6, ["string", "name"], 465, 640, [5, null]],
+[7, ["storein", 0], 398, 724, [5, 8, 98, 9]],
+[8, ["string", "picture"], 465, 724, [7, null]],
+[9, "stack", 398, 808, [7, 147, null]],
+[10, "hat", 896, 177, [null, 151, 228]],
+[11, ["setxy2", 0], 914, 685, [240, 12, 246, 241]],
+[12, ["number", 0], 972, 685, [11, null]],
+[13, "show", 914, 853, [247, 14, 242]],
+[14, ["plus2", 0], 972, 853, [13, 15, 16]],
+[15, ["string", "Put the turtle in "], 1026, 853, [14, null]],
+[16, "box", 1026, 895, [14, 17, null]],
+[17, ["string", "name"], 1080, 895, [16, null]],
+[18, "hat", 380, 520, [null, 134, 236]],
+[19, ["storein", 0], 398, 608, [236, 42, 54, 20]],
+[20, ["storein", 0], 398, 692, [19, 43, 55, 21]],
+[21, ["storein", 0], 398, 776, [20, 22, 50, 23]],
+[22, ["string", "size"], 465, 776, [21, null]],
+[23, ["storein", 0], 398, 860, [21, 24, 47, 25]],
+[24, ["string", "name"], 465, 860, [23, null]],
+[25, ["storein", 0], 398, 944, [23, 26, 214, 27]],
+[26, ["string", "picture"], 465, 944, [25, null]],
+[27, "stack", 398, 1028, [25, 149, null]],
+[28, "hat", 380, 640, [null, 135, 235]],
+[29, ["storein", 0], 398, 728, [235, 44, 72, 30]],
+[30, ["storein", 0], 398, 812, [29, 45, 73, 31]],
+[31, ["storein", 0], 398, 896, [30, 32, 51, 33]],
+[32, ["string", "size"], 465, 896, [31, null]],
+[33, ["storein", 0], 398, 980, [31, 34, 48, 35]],
+[34, ["string", "name"], 465, 980, [33, null]],
+[35, ["storein", 0], 398, 1064, [33, 36, 96, 37]],
+[36, ["string", "picture"], 465, 1064, [35, null]],
+[37, "stack", 398, 1148, [35, 150, null]],
+[38, "setscale", 918, 488, [233, 39, 261]],
+[39, ["number", 100], 995, 488, [38, null]],
+[40, ["string", "x"], 465, 388, [1, null]],
+[41, ["string", "y"], 465, 472, [2, null]],
+[42, ["string", "x"], 465, 608, [19, null]],
+[43, ["string", "y"], 465, 692, [20, null]],
+[44, ["string", "x"], 465, 728, [29, null]],
+[45, ["string", "y"], 465, 812, [30, null]],
+[46, ["string", "Africa"], 465, 682, [5, null]],
+[47, ["string", "North America"], 465, 902, [23, null]],
+[48, ["string", "Eurasia"], 465, 1022, [33, null]],
+[49, ["number", 100], 465, 598, [3, null]],
+[50, ["number", 150], 465, 818, [21, null]],
+[51, ["number", 150], 465, 938, [31, null]],
+[52, ["number", 20], 465, 430, [1, null]],
+[53, ["number", 40], 465, 514, [2, null]],
+[54, ["number", -350], 465, 650, [19, null]],
+[55, ["number", 200], 465, 734, [20, null]],
+[56, "hat", 380, 180, [null, 131, 239]],
+[57, ["storein", 0], 398, 268, [239, 58, 59, 60]],
+[58, ["string", "x"], 465, 268, [57, null]],
+[59, ["number", -300], 465, 310, [57, null]],
+[60, ["storein", 0], 398, 352, [57, 61, 62, 63]],
+[61, ["string", "y"], 465, 352, [60, null]],
+[62, ["number", -50], 465, 394, [60, null]],
+[63, ["storein", 0], 398, 436, [60, 64, 65, 66]],
+[64, ["string", "size"], 465, 436, [63, null]],
+[65, ["number", 100], 465, 478, [63, null]],
+[66, ["storein", 0], 398, 520, [63, 67, 68, 69]],
+[67, ["string", "name"], 465, 520, [66, null]],
+[68, ["string", "South America"], 465, 562, [66, null]],
+[69, ["storein", 0], 398, 604, [66, 70, 165, 71]],
+[70, ["string", "picture"], 465, 604, [69, null]],
+[71, "stack", 398, 688, [69, 146, null]],
+[72, ["number", 250], 465, 770, [29, null]],
+[73, ["number", 200], 465, 854, [30, null]],
+[74, "hat", 380, 420, [null, 133, 237]],
+[75, ["storein", 0], 398, 508, [237, 76, 77, 78]],
+[76, ["string", "x"], 465, 508, [75, null]],
+[77, ["number", 390], 465, 550, [75, null]],
+[78, ["storein", 0], 398, 592, [75, 79, 80, 81]],
+[79, ["string", "y"], 465, 592, [78, null]],
+[80, ["number", -75], 465, 634, [78, null]],
+[81, ["storein", 0], 398, 676, [78, 82, 83, 84]],
+[82, ["string", "size"], 465, 676, [81, null]],
+[83, ["number", 100], 465, 718, [81, null]],
+[84, ["storein", 0], 398, 760, [81, 85, 86, 87]],
+[85, ["string", "name"], 465, 760, [84, null]],
+[86, ["string", "Australia"], 465, 802, [84, null]],
+[87, ["storein", 0], 398, 844, [84, 88, 95, 89]],
+[88, ["string", "picture"], 465, 844, [87, null]],
+[89, "stack", 398, 928, [87, 148, null]],
+[90, ["start", 2.0], 660, 180, [null, 234]],
+[91, "stack", 678, 260, [234, 92, 93]],
+[92, ["string", "setup"], 736, 260, [91, null]],
+[93, "stack", 678, 302, [91, 136, 94]],
+[94, "stack", 678, 344, [93, 137, 138]],
+[95, ["journal", "./samples/images/Africa.png"], 465, 886, [87, null]],
+[96, ["journal", "./samples/images/North_America.png"], 465, 1106, [35, null]],
+[97, ["journal", "./samples/images/Eurasia.png"], 976, 698, [164, null]],
+[98, ["journal", "./samples/images/South_America.png"], 465, 766, [7, null]],
+[99, "hat", 900, 400, [null, 100, 233]],
+[100, ["string", "game over"], 958, 412, [99, null]],
+[101, "setpensize", 918, 782, [258, 102, 103]],
+[102, ["number", 15], 1020, 782, [101, null]],
+[103, ["setxy2", 0], 918, 824, [101, 104, 105, 106]],
+[104, ["number", 0], 976, 824, [103, null]],
+[105, ["number", 0], 976, 866, [103, null]],
+[106, ["repeat", 63], 918, 908, [103, 107, 216, 215]],
+[107, ["number", 5], 976, 908, [106, null]],
+[108, "setcolor", 936, 992, [216, 109, 110]],
+[109, "heading", 1013, 992, [108, null]],
+[110, "forward", 936, 1034, [108, 111, 112]],
+[111, ["number", 200], 1006, 1034, [110, null]],
+[112, "right", 936, 1076, [110, 113, null]],
+[113, ["number", 144], 994, 1076, [112, null]],
+[114, ["setxy2", 20.0], 914, 937, [242, 222, 223, 243]],
+[115, ["number", -150], 1026, 937, [222, null]],
+[116, ["number", 100], 1026, 1019, [223, null]],
+[117, ["forever", 105], 918, 368, [260, 118, null]],
+[118, "stack", 936, 402, [117, 119, 219]],
+[119, ["string", "calculate distance"], 994, 402, [118, null]],
+[120, ["if", 0], 936, 486, [219, 121, 160, 129]],
+[121, ["less2", 0], 992, 452, [120, 122, 124, null]],
+[122, "box", 1048, 452, [121, 123, null]],
+[123, ["string", "distance"], 1102, 452, [122, null]],
+[124, ["product2", 0], 1072, 494, [121, 125, 127]],
+[125, "box", 1126, 494, [124, 126, null]],
+[126, ["string", "size"], 1180, 494, [125, null]],
+[127, "box", 1126, 536, [124, 128, null]],
+[128, ["string", "scale"], 1180, 536, [127, null]],
+[129, "wait", 936, 612, [120, 130, null]],
+[130, ["number", 1], 994, 612, [129, null]],
+[131, ["string", "Q1"], 438, 192, [56, null]],
+[132, ["string", "Q2"], 438, 312, [0, null]],
+[133, ["string", "Q3"], 438, 432, [74, null]],
+[134, ["string", "Q4"], 438, 532, [18, null]],
+[135, ["string", "Q5"], 438, 652, [28, null]],
+[136, ["string", "Q1"], 736, 302, [93, null]],
+[137, ["string", "Q2"], 736, 344, [94, null]],
+[138, "stack", 678, 386, [94, 140, 139]],
+[139, "stack", 678, 428, [138, 141, 142]],
+[140, ["string", "Q3"], 736, 386, [138, null]],
+[141, ["string", "Q4"], 736, 428, [139, null]],
+[142, "stack", 678, 470, [139, 145, 143]],
+[143, "stack", 678, 512, [142, 144, null]],
+[144, ["string", "game over"], 736, 512, [143, null]],
+[145, ["string", "Q5"], 736, 470, [142, null]],
+[146, ["string", "go"], 456, 688, [71, null]],
+[147, ["string", "go"], 456, 808, [9, null]],
+[148, ["string", "go"], 456, 928, [89, null]],
+[149, ["string", "go"], 456, 1028, [27, null]],
+[150, ["string", "go"], 456, 1148, [37, null]],
+[151, ["string", "go"], 954, 189, [10, null]],
+[152, ["setxy2", 0], 914, 307, [244, 153, 154, 245]],
+[153, ["number", 0], 972, 307, [152, null]],
+[154, ["number", 0], 972, 349, [152, null]],
+[155, "setscale", 914, 433, [245, 156, 257]],
+[156, ["number", 100], 991, 433, [155, null]],
+[157, "show", 914, 559, [249, 158, 220]],
+[158, "box", 972, 559, [157, 159, null]],
+[159, ["string", "picture"], 1026, 559, [158, null]],
+[160, "stopstack", 954, 552, [120, null]],
+[161, ["setxy2", 0], 918, 572, [261, 162, 163, 262]],
+[162, ["number", 0], 976, 572, [161, null]],
+[163, ["number", 0], 976, 614, [161, null]],
+[164, "show", 918, 698, [262, 97, 258]],
+[165, ["journal", "./samples/images/World_Map.png"], 465, 646, [69, null]],
+[166, "hat", 660, 280, [null, 167, 232]],
+[167, ["string", "setup"], 718, 292, [166, null]],
+[168, ["storein", 0], 678, 368, [232, 169, 170, 218]],
+[169, ["string", "scale"], 745, 368, [168, null]],
+[170, ["division2", 0], 745, 410, [168, 171, 172]],
+[171, "height", 815, 410, [170, null]],
+[172, ["number", 900], 839, 452, [170, null]],
+[173, ["storein", 0], 678, 494, [218, 174, 175, 179]],
+[174, ["string", "box"], 745, 494, [173, null]],
+[175, ["product2", 0], 745, 536, [173, 176, 177]],
+[176, ["number", -200], 799, 536, [175, null]],
+[177, "box", 799, 578, [175, 178, null]],
+[178, ["string", "scale"], 853, 578, [177, null]],
+[179, "clean", 678, 578, [173, 251]],
+[180, "hat", 660, 400, [null, 181, 229]],
+[181, ["string", "calculate distance"], 718, 412, [180, null]],
+[182, ["storein", 0], 678, 488, [229, 183, 184, 231]],
+[183, ["string", "dx"], 745, 488, [182, null]],
+[184, ["minus2", 20.0], 745, 530, [182, 185, 190]],
+[185, ["product2", 0], 818, 530, [184, 186, 188]],
+[186, "box", 872, 530, [185, 187, null]],
+[187, ["string", "x"], 926, 530, [186, null]],
+[188, "box", 872, 572, [185, 189, null]],
+[189, ["string", "scale"], 926, 572, [188, null]],
+[190, "xcor", 842, 612, [184, null]],
+[191, ["storein", 0], 678, 654, [231, 192, 193, 230]],
+[192, ["string", "dy"], 745, 654, [191, null]],
+[193, ["minus2", 20.0], 745, 696, [191, 194, 199]],
+[194, ["product2", 0], 818, 696, [193, 195, 197]],
+[195, "box", 872, 696, [194, 196, null]],
+[196, ["string", "y"], 926, 696, [195, null]],
+[197, "box", 872, 738, [194, 198, null]],
+[198, ["string", "scale"], 926, 738, [197, null]],
+[199, "ycor", 842, 778, [193, null]],
+[200, ["storein", 0], 678, 820, [230, 201, 202, null]],
+[201, ["string", "distance"], 745, 820, [200, null]],
+[202, "sqrt", 745, 862, [200, 203]],
+[203, ["plus2", 20.0], 799, 862, [202, 204, 209]],
+[204, ["product2", 0], 853, 862, [203, 205, 207]],
+[205, "box", 907, 862, [204, 206, null]],
+[206, ["string", "dx"], 961, 862, [205, null]],
+[207, "box", 907, 904, [204, 208, null]],
+[208, ["string", "dx"], 961, 904, [207, null]],
+[209, ["product2", 0], 853, 944, [203, 210, 212]],
+[210, "box", 907, 944, [209, 211, null]],
+[211, ["string", "dy"], 961, 944, [210, null]],
+[212, "box", 907, 986, [209, 213, null]],
+[213, ["string", "dy"], 961, 986, [212, null]],
+[214, ["journal", "./samples/images/Australia.png"], 465, 986, [25, null]],
+[215, "showblocks", 918, 1136, [106, null]],
+[216, "wait", 936, 950, [106, 217, 108]],
+[217, ["number", 1], 994, 950, [216, null]],
+[218, ["vspace", 0], 678, 452, [168, 173]],
+[219, ["vspace", 0], 936, 444, [118, 120]],
+[220, "setscale", 914, 601, [157, 221, 240]],
+[221, ["number", 50], 991, 601, [220, null]],
+[222, ["product2", 0], 972, 937, [114, 115, 226]],
+[223, ["product2", 0], 972, 1019, [114, 116, 224]],
+[224, "box", 1026, 1061, [223, 225, null]],
+[225, ["string", "scale"], 1080, 1061, [224, null]],
+[226, "box", 1026, 979, [222, 227, null]],
+[227, ["string", "scale"], 1080, 979, [226, null]],
+[228, "sandwichclampcollapsed", 896, 231, [10, 244, null]],
+[229, "sandwichclampcollapsed", 660, 454, [180, 182, null]],
+[230, ["vspace", 20], 678, 738, [191, 200]],
+[231, ["vspace", 20], 678, 572, [182, 191]],
+[232, "sandwichclampcollapsed", 660, 334, [166, 168, null]],
+[233, "sandwichclampcollapsed", 900, 454, [99, 38, null]],
+[234, "sandwichclampcollapsed", 660, 226, [90, 91, null]],
+[235, "sandwichclampcollapsed", 380, 694, [28, 29, null]],
+[236, "sandwichclampcollapsed", 380, 574, [18, 19, null]],
+[237, "sandwichclampcollapsed", 380, 474, [74, 75, null]],
+[238, "sandwichclampcollapsed", 380, 354, [0, 1, null]],
+[239, "sandwichclampcollapsed", 380, 234, [56, 57, null]],
+[240, "penup", 914, 643, [220, 11]],
+[241, "pendown", 914, 769, [11, 247]],
+[242, "penup", 914, 895, [13, 114]],
+[243, "pendown", 914, 1061, [114, 255]],
+[244, "penup", 914, 265, [228, 152]],
+[245, "pendown", 914, 391, [152, 155]],
+[246, ["number", 0], 972, 727, [11, null]],
+[247, "seth", 914, 811, [241, 248, 13]],
+[248, ["number", 0], 972, 811, [247, null]],
+[249, "seth", 914, 517, [257, 250, 157]],
+[250, ["number", 0], 972, 517, [249, null]],
+[251, "setscale", 678, 620, [179, 252, null]],
+[252, ["number", 33], 755, 620, [251, null]],
+[253, "hat", 900, 280, [null, 254, 260]],
+[254, ["string", "loop"], 958, 292, [253, null]],
+[255, "stack", 914, 1103, [243, 256, null]],
+[256, ["string", "loop"], 972, 1103, [255, null]],
+[257, ["vspace", 0], 914, 475, [155, 249]],
+[258, "wait", 918, 740, [164, 259, 101]],
+[259, ["number", 1.0], 976, 740, [258, null]],
+[260, "sandwichclampcollapsed", 900, 334, [253, 117, null]],
+[261, "penup", 918, 530, [38, 161]],
+[262, "pendown", 918, 656, [161, 164]]]
diff --git a/samples/game-find-boston.ta b/samples/game-find-boston.ta
index a585024..09860d6 100644
--- a/samples/game-find-boston.ta
+++ b/samples/game-find-boston.ta
@@ -1,379 +1,371 @@
-[[0, ["string", "North America"], 178, 536, [241, null]],
-[1, ["journal", "./samples/images/North_America.jpg"], 178, 620, [243, null]],
-[2, ["number", 150], 366, 452, [238, null]],
-[3, ["number", 114], 366, 368, [232, null]],
-[4, "hat", 123, 467, [null, 5, 358]],
-[5, ["string", "Q3"], 181, 479, [4, null]],
-[6, ["storein", 0], 106, 531, [358, 7, 211, 9]],
-[7, ["string", "x"], 174, 531, [6, null]],
-[8, ["number", 500], 362, 573, [208, null]],
-[9, ["storein", 0], 106, 615, [6, 10, 213, 12]],
-[10, ["string", "y"], 174, 615, [9, null]],
-[11, ["number", 300], 362, 657, [212, null]],
-[12, ["storein", 0], 106, 699, [9, 13, 219, 15]],
-[13, ["string", "size"], 174, 699, [12, null]],
-[14, ["number", 100], 362, 741, [218, null]],
-[15, ["storein", 0], 106, 783, [12, 16, 17, 18]],
-[16, ["string", "name"], 174, 783, [15, null]],
-[17, ["string", "New England"], 174, 825, [15, null]],
-[18, ["storein", 0], 106, 867, [15, 19, 20, 21]],
-[19, ["string", "picture"], 174, 867, [18, null]],
-[20, ["journal", "./samples/images/New-England.png"], 174, 909, [18, null]],
-[21, "stack", 106, 951, [18, 22, 220]],
-[22, ["string", "go"], 164, 951, [21, null]],
-[23, ["number", -330], 361, 729, [307, null]],
-[24, ["number", -240], 361, 813, [313, null]],
-[25, ["number", 100], 361, 897, [319, null]],
-[26, ["string", "Massachusetts"], 173, 981, [322, null]],
-[27, ["journal", "./samples/images/Massachuetts.png"], 173, 1065, [324, null]],
-[28, "hat", 654, 621, [null, 29, 353]],
-[29, ["string", "calculate distance"], 712, 633, [28, null]],
-[30, ["storein", 0], 637, 685, [353, 31, 32, 352]],
-[31, ["string", "dx"], 705, 685, [30, null]],
-[32, ["minus2", 20.0], 705, 727, [30, 33, 38]],
-[33, ["product2", 0], 759, 727, [32, 34, 36]],
-[34, "box", 813, 727, [33, 35, null]],
-[35, ["string", "x"], 868, 727, [34, null]],
-[36, "box", 813, 769, [33, 37, null]],
-[37, ["string", "scalex"], 868, 769, [36, null]],
-[38, "xcor", 783, 809, [32, null]],
-[39, ["storein", 0], 637, 851, [352, 40, 41, 351]],
-[40, ["string", "dy"], 705, 851, [39, null]],
-[41, ["minus2", 20.0], 705, 893, [39, 42, 47]],
-[42, ["product2", 0], 759, 893, [41, 43, 45]],
-[43, "box", 813, 893, [42, 44, null]],
-[44, ["string", "y"], 868, 893, [43, null]],
-[45, "box", 813, 935, [42, 46, null]],
-[46, ["string", "scaley"], 868, 935, [45, null]],
-[47, "ycor", 783, 975, [41, null]],
-[48, ["storein", 0], 637, 1017, [351, 49, 50, 202]],
-[49, ["string", "distance"], 705, 1017, [48, null]],
-[50, "sqrt", 705, 1059, [48, 51]],
-[51, ["plus2", 20.0], 759, 1059, [50, 52, 57]],
-[52, ["product2", 0], 813, 1059, [51, 53, 55]],
-[53, "box", 867, 1059, [52, 54, null]],
-[54, ["string", "dx"], 922, 1059, [53, null]],
-[55, "box", 867, 1101, [52, 56, null]],
-[56, ["string", "dx"], 922, 1101, [55, null]],
-[57, ["product2", 0], 813, 1141, [51, 58, 60]],
-[58, "box", 867, 1141, [57, 59, null]],
-[59, ["string", "dy"], 922, 1141, [58, null]],
-[60, "box", 867, 1183, [57, 61, null]],
-[61, ["string", "dy"], 922, 1183, [60, null]],
-[62, ["number", 120], 363, 868, [280, null]],
-[63, ["number", 190], 363, 952, [286, null]],
-[64, ["number", 50], 363, 1036, [292, null]],
-[65, ["string", "Boston"], 175, 1120, [295, null]],
-[66, ["journal", "./samples/images/Boston.png"], 175, 1204, [297, null]],
-[67, "hat", 1042, 788, [null, 68, 350]],
-[68, ["string", "map"], 1100, 800, [67, null]],
-[69, "setscale", 1025, 852, [350, 70, 71]],
-[70, ["number", 100], 1102, 852, [69, null]],
-[71, ["setxy2", 0], 1025, 894, [69, 72, 73, 74]],
-[72, ["number", 0], 1083, 894, [71, null]],
-[73, ["number", 0], 1083, 936, [71, null]],
-[74, "show", 1025, 978, [71, 75, 203]],
-[75, ["journal", "./samples/images/earth.png"], 1083, 978, [74, null]],
-[76, "hat", 663, 415, [null, 77, 354]],
-[77, ["string", "setup"], 721, 427, [76, null]],
-[78, ["storein", 0], 646, 479, [354, 79, 80, 339]],
-[79, ["string", "scalex"], 714, 479, [78, null]],
-[80, ["division2", 0], 714, 521, [78, 338, 81]],
-[81, ["number", 1200], 792, 563, [80, null]],
-[82, ["storein", 0], 646, 731, [344, 83, 84, 337]],
-[83, ["string", "box"], 714, 731, [82, null]],
-[84, ["product2", 0], 714, 773, [82, 85, 86]],
-[85, ["number", -260], 768, 773, [84, null]],
-[86, "box", 768, 815, [84, 87, null]],
-[87, ["string", "scalex"], 823, 815, [86, null]],
-[88, "hat", 717, 523, [null, 89, 348]],
-[89, ["string", "star"], 775, 535, [88, null]],
-[90, "setpensize", 700, 587, [348, 91, 373]],
-[91, ["number", 15], 802, 587, [90, null]],
-[92, ["setxy2", 0], 700, 671, [373, 93, 94, 374]],
-[93, ["number", 0], 758, 671, [92, null]],
-[94, ["number", 0], 758, 713, [92, null]],
-[95, ["repeat", 42], 700, 797, [374, 96, 97, 204]],
-[96, ["number", 5], 759, 797, [95, null]],
-[97, "setcolor", 718, 839, [95, 98, 99]],
-[98, "heading", 795, 839, [97, null]],
-[99, "forward", 718, 881, [97, 100, 101]],
-[100, ["number", 200], 789, 881, [99, null]],
-[101, "right", 718, 923, [99, 102, null]],
-[102, ["number", 144], 776, 923, [101, null]],
-[103, "clean", 646, 857, [337, 331]],
-[104, ["number", -200], 362, 422, [253, null]],
-[105, ["number", -220], 362, 506, [259, null]],
-[106, ["number", 200], 362, 590, [265, null]],
-[107, ["string", "USA"], 174, 674, [268, null]],
-[108, ["journal", "./samples/images/United_States.png"], 174, 758, [270, null]],
-[109, "hat", 671, 205, [null, 110, 355]],
-[110, ["string", "go"], 729, 217, [109, null]],
-[111, ["if", 0], 689, 293, [355, 112, 365, 369]],
-[112, ["greater2", 0], 745, 259, [111, 113, 115, null]],
-[113, "box", 791, 259, [112, 114, null]],
-[114, ["string", "test"], 846, 259, [113, null]],
-[115, ["number", 0], 815, 301, [112, null]],
-[116, ["setxy2", 20.0], 701, 419, [361, 117, 120, 362]],
-[117, ["minus2", 0], 759, 419, [116, 118, 186]],
-[118, "box", 813, 419, [117, 119, null]],
-[119, ["string", "x"], 868, 419, [118, null]],
-[120, "box", 759, 501, [116, 121, null]],
-[121, ["string", "y"], 814, 501, [120, null]],
-[122, ["arc", 0], 701, 585, [362, 123, 124, 188]],
-[123, ["number", 360], 759, 585, [122, null]],
-[124, "box", 759, 627, [122, 330, null]],
-[125, ["setxy2", 0], 689, 461, [369, 126, 127, 370]],
-[126, ["number", 0], 747, 461, [125, null]],
-[127, "box", 747, 503, [125, 128, null]],
-[128, ["string", "box"], 802, 503, [127, null]],
-[129, "settextsize", 689, 587, [370, 130, 349]],
-[130, ["product2", 0], 793, 587, [129, 131, 132]],
-[131, ["number", 24], 847, 587, [130, null]],
-[132, "box", 847, 629, [130, 133, null]],
-[133, ["string", "scalex"], 902, 629, [132, null]],
-[134, "show", 689, 755, [375, 135, 206]],
-[135, ["plus2", 0], 747, 755, [134, 136, 137]],
-[136, ["string", "Put the turtle in "], 801, 755, [135, null]],
-[137, "box", 801, 797, [135, 138, null]],
-[138, ["string", "name"], 856, 797, [137, null]],
-[139, ["setxy2", 0], 689, 881, [371, 140, 141, 372]],
-[140, ["number", 0], 747, 881, [139, null]],
-[141, ["number", 0], 747, 923, [139, null]],
-[142, ["forever", 231], 689, 1007, [372, 143, null]],
-[143, "stack", 707, 1041, [142, 144, 205]],
-[144, ["string", "calculate distance"], 765, 1041, [143, null]],
-[145, ["if", 126], 707, 1125, [205, 146, 154, 164]],
-[146, ["less2", 0], 763, 1091, [145, 147, 149, null]],
-[147, "box", 809, 1091, [146, 148, null]],
-[148, ["string", "distance"], 864, 1091, [147, null]],
-[149, ["product2", 0], 833, 1133, [146, 150, 152]],
-[150, "box", 887, 1133, [149, 151, null]],
-[151, ["string", "size"], 942, 1133, [150, null]],
-[152, "box", 887, 1175, [149, 153, null]],
-[153, ["string", "scalex"], 942, 1175, [152, null]],
-[154, "clean", 725, 1191, [145, 155]],
-[155, ["setxy2", 0], 725, 1233, [154, 156, 157, 158]],
-[156, ["number", 0], 783, 1233, [155, null]],
-[157, ["number", 0], 783, 1275, [155, null]],
-[158, "setscale", 725, 1317, [155, 159, 377]],
-[159, ["number", 100], 802, 1317, [158, null]],
-[160, "show", 725, 1401, [377, 161, 163]],
-[161, "box", 783, 1401, [160, 162, null]],
-[162, ["string", "picture"], 838, 1401, [161, null]],
-[163, "stopstack", 725, 1443, [160, null]],
-[164, "wait", 707, 1503, [145, 165, null]],
-[165, ["number", 1], 765, 1503, [164, null]],
-[166, ["start", 2.0], 407, 211, [null, 167]],
-[167, ["storein", 0], 407, 257, [166, 168, 169, 170]],
-[168, ["string", "test"], 475, 257, [167, null]],
-[169, ["number", 0], 475, 299, [167, null]],
-[170, "stack", 407, 341, [167, 171, 172]],
-[171, ["string", "setup"], 465, 341, [170, null]],
-[172, "stack", 407, 383, [170, 173, 174]],
-[173, ["string", "map"], 465, 383, [172, null]],
-[174, "stack", 407, 425, [172, 175, 176]],
-[175, ["string", "Q1"], 465, 425, [174, null]],
-[176, "stack", 407, 467, [174, 177, 178]],
-[177, ["string", "Q2"], 465, 467, [176, null]],
-[178, "stack", 407, 509, [176, 179, 180]],
-[179, ["string", "Q3"], 465, 509, [178, null]],
-[180, "stack", 407, 551, [178, 181, 182]],
-[181, ["string", "Q4"], 465, 551, [180, null]],
-[182, "stack", 407, 593, [180, 183, 184]],
-[183, ["string", "Q5"], 465, 593, [182, null]],
-[184, "stack", 407, 635, [182, 185, null]],
-[185, ["string", "star"], 465, 635, [184, null]],
-[186, "box", 837, 461, [117, 187, null]],
-[187, ["string", "size"], 892, 461, [186, null]],
-[188, ["storein", 0], 701, 669, [122, 189, 190, 207]],
-[189, ["string", "box"], 769, 669, [188, null]],
-[190, ["plus2", 0], 769, 711, [188, 191, 192]],
-[191, "xcor", 823, 711, [190, null]],
-[192, "box", 823, 753, [190, 193, null]],
-[193, ["string", "size"], 878, 753, [192, null]],
-[194, "print", 701, 795, [207, 195, 368]],
-[195, ["plus2", 0], 759, 795, [194, 196, 198]],
-[196, "box", 813, 795, [195, 197, null]],
-[197, ["string", "box"], 868, 795, [196, null]],
-[198, ["plus2", 0], 813, 837, [195, 199, 200]],
-[199, ["string", ", "], 867, 837, [198, null]],
-[200, "ycor", 867, 879, [198, null]],
-[201, ["number", -170], 366, 284, [226, null]],
-[202, ["vspace", 1], 637, 1101, [48, null]],
-[203, ["vspace", 1], 1025, 1020, [74, null]],
-[204, ["vspace", 1], 700, 983, [95, null]],
-[205, ["vspace", 0], 707, 1083, [143, 145]],
-[206, ["vspace", 0], 689, 797, [134, 371]],
-[207, ["vspace", 0], 701, 753, [188, 194]],
-[208, ["product2", 0], 308, 573, [211, 8, 209]],
-[209, "box", 362, 615, [208, 210, null]],
-[210, ["string", "scalex"], 417, 615, [209, null]],
-[211, ["identity2", 40.0], 174, 573, [6, 208]],
-[212, ["product2", 0], 308, 657, [213, 11, 214]],
-[213, ["identity2", 40.0], 174, 657, [9, 212]],
-[214, "box", 362, 699, [212, 215, null]],
-[215, ["string", "scaley"], 417, 699, [214, null]],
-[216, "box", 362, 783, [218, 217, null]],
-[217, ["string", "scalex"], 417, 783, [216, null]],
-[218, ["product2", 0], 308, 741, [219, 14, 216]],
-[219, ["identity2", 40.0], 174, 741, [12, 218]],
-[220, ["vspace", 1], 106, 993, [21, null]],
-[221, "hat", 127, 178, [null, 222, 360]],
-[222, ["string", "Q1"], 185, 190, [221, null]],
-[223, ["storein", 0], 110, 242, [360, 224, 225, 229]],
-[224, ["string", "x"], 178, 242, [223, null]],
-[225, ["identity2", 40.0], 178, 284, [223, 226]],
-[226, ["product2", 0], 312, 284, [225, 201, 227]],
-[227, "box", 366, 326, [226, 228, null]],
-[228, ["string", "scalex"], 421, 326, [227, null]],
-[229, ["storein", 0], 110, 326, [223, 230, 231, 235]],
-[230, ["string", "y"], 178, 326, [229, null]],
-[231, ["identity2", 40.0], 178, 368, [229, 232]],
-[232, ["product2", 0], 312, 368, [231, 3, 233]],
-[233, "box", 366, 410, [232, 234, null]],
-[234, ["string", "scaley"], 421, 410, [233, null]],
-[235, ["storein", 0], 110, 410, [229, 236, 237, 241]],
-[236, ["string", "size"], 178, 410, [235, null]],
-[237, ["identity2", 40.0], 178, 452, [235, 238]],
-[238, ["product2", 0], 312, 452, [237, 2, 239]],
-[239, "box", 366, 494, [238, 240, null]],
-[240, ["string", "scalex"], 421, 494, [239, null]],
-[241, ["storein", 0], 110, 494, [235, 242, 0, 243]],
-[242, ["string", "name"], 178, 494, [241, null]],
-[243, ["storein", 0], 110, 578, [241, 244, 1, 245]],
-[244, ["string", "picture"], 178, 578, [243, null]],
-[245, "stack", 110, 662, [243, 246, 247]],
-[246, ["string", "go"], 168, 662, [245, null]],
-[247, ["vspace", 1], 110, 704, [245, null]],
-[248, "hat", 123, 316, [null, 249, 359]],
-[249, ["string", "Q2"], 181, 328, [248, null]],
-[250, ["storein", 0], 106, 380, [359, 251, 252, 256]],
-[251, ["string", "x"], 174, 380, [250, null]],
-[252, ["identity2", 40.0], 174, 422, [250, 253]],
-[253, ["product2", 0], 308, 422, [252, 104, 254]],
-[254, "box", 362, 464, [253, 255, null]],
-[255, ["string", "scalex"], 417, 464, [254, null]],
-[256, ["storein", 0], 106, 464, [250, 257, 258, 262]],
-[257, ["string", "y"], 174, 464, [256, null]],
-[258, ["identity2", 40.0], 174, 506, [256, 259]],
-[259, ["product2", 0], 308, 506, [258, 105, 260]],
-[260, "box", 362, 548, [259, 261, null]],
-[261, ["string", "scaley"], 417, 548, [260, null]],
-[262, ["storein", 0], 106, 548, [256, 263, 264, 268]],
-[263, ["string", "size"], 174, 548, [262, null]],
-[264, ["identity2", 40.0], 174, 590, [262, 265]],
-[265, ["product2", 0], 308, 590, [264, 106, 266]],
-[266, "box", 362, 632, [265, 267, null]],
-[267, ["string", "scalex"], 417, 632, [266, null]],
-[268, ["storein", 0], 106, 632, [262, 269, 107, 270]],
-[269, ["string", "name"], 174, 632, [268, null]],
-[270, ["storein", 0], 106, 716, [268, 271, 108, 272]],
-[271, ["string", "picture"], 174, 716, [270, null]],
-[272, "stack", 106, 800, [270, 273, 274]],
-[273, ["string", "go"], 164, 800, [272, null]],
-[274, ["vspace", 1], 106, 842, [272, null]],
-[275, "hat", 124, 762, [null, 276, 356]],
-[276, ["string", "Q5"], 182, 774, [275, null]],
-[277, ["storein", 0], 107, 826, [356, 278, 279, 283]],
-[278, ["string", "x"], 175, 826, [277, null]],
-[279, ["identity2", 40.0], 175, 868, [277, 280]],
-[280, ["product2", 0], 309, 868, [279, 62, 281]],
-[281, "box", 363, 910, [280, 282, null]],
-[282, ["string", "scalex"], 418, 910, [281, null]],
-[283, ["storein", 0], 107, 910, [277, 284, 285, 289]],
-[284, ["string", "y"], 175, 910, [283, null]],
-[285, ["identity2", 40.0], 175, 952, [283, 286]],
-[286, ["product2", 0], 309, 952, [285, 63, 287]],
-[287, "box", 363, 994, [286, 288, null]],
-[288, ["string", "scaley"], 418, 994, [287, null]],
-[289, ["storein", 0], 107, 994, [283, 290, 291, 295]],
-[290, ["string", "size"], 175, 994, [289, null]],
-[291, ["identity2", 40.0], 175, 1036, [289, 292]],
-[292, ["product2", 0], 309, 1036, [291, 64, 293]],
-[293, "box", 363, 1078, [292, 294, null]],
-[294, ["string", "scalex"], 418, 1078, [293, null]],
-[295, ["storein", 0], 107, 1078, [289, 296, 65, 297]],
-[296, ["string", "name"], 175, 1078, [295, null]],
-[297, ["storein", 0], 107, 1162, [295, 298, 66, 299]],
-[298, ["string", "picture"], 175, 1162, [297, null]],
-[299, "stack", 107, 1246, [297, 300, 301]],
-[300, ["string", "go"], 165, 1246, [299, null]],
-[301, ["vspace", 1], 107, 1288, [299, null]],
-[302, "hat", 122, 623, [null, 303, 357]],
-[303, ["string", "Q4"], 180, 635, [302, null]],
-[304, ["storein", 0], 105, 687, [357, 305, 306, 310]],
-[305, ["string", "x"], 173, 687, [304, null]],
-[306, ["identity2", 40.0], 173, 729, [304, 307]],
-[307, ["product2", 0], 307, 729, [306, 23, 308]],
-[308, "box", 361, 771, [307, 309, null]],
-[309, ["string", "scalex"], 416, 771, [308, null]],
-[310, ["storein", 0], 105, 771, [304, 311, 312, 316]],
-[311, ["string", "y"], 173, 771, [310, null]],
-[312, ["identity2", 40.0], 173, 813, [310, 313]],
-[313, ["product2", 0], 307, 813, [312, 24, 314]],
-[314, "box", 361, 855, [313, 315, null]],
-[315, ["string", "scaley"], 416, 855, [314, null]],
-[316, ["storein", 0], 105, 855, [310, 317, 318, 322]],
-[317, ["string", "size"], 173, 855, [316, null]],
-[318, ["identity2", 40.0], 173, 897, [316, 319]],
-[319, ["product2", 0], 307, 897, [318, 25, 320]],
-[320, "box", 361, 939, [319, 321, null]],
-[321, ["string", "scalex"], 416, 939, [320, null]],
-[322, ["storein", 0], 105, 939, [316, 323, 26, 324]],
-[323, ["string", "name"], 173, 939, [322, null]],
-[324, ["storein", 0], 105, 1023, [322, 325, 27, 326]],
-[325, ["string", "picture"], 173, 1023, [324, null]],
-[326, "stack", 105, 1107, [324, 327, 328]],
-[327, ["string", "go"], 163, 1107, [326, null]],
-[328, ["vspace", 1], 105, 1149, [326, null]],
-[329, ["vspace", 1], 646, 1025, [331, null]],
-[330, ["string", "size"], 814, 627, [124, null]],
-[331, ["if", 0], 646, 899, [103, 332, 334, 329]],
-[332, ["equal2", 0], 702, 865, [331, 335, 333, null]],
-[333, ["number", 0], 748, 907, [332, null]],
-[334, "hideblocks", 664, 965, [331, null]],
-[335, "box", 748, 865, [332, 336, null]],
-[336, ["string", "test"], 803, 865, [335, null]],
-[337, ["vspace", 0], 646, 815, [82, 103]],
-[338, "width", 768, 521, [80, null]],
-[339, ["vspace", 0], 646, 563, [78, 340]],
-[340, ["storein", 0], 646, 605, [339, 341, 342, 344]],
-[341, ["string", "scaley"], 714, 605, [340, null]],
-[342, ["division2", 0], 714, 647, [340, 345, 343]],
-[343, ["number", 900], 792, 689, [342, null]],
-[344, ["vspace", 0], 646, 689, [340, 82]],
-[345, "height", 768, 647, [342, null]],
-[346, "setscale", 689, 671, [349, 347, 375]],
-[347, ["number", 33], 766, 671, [346, null]],
-[348, "sandwichclampcollapsed", 717, 577, [88, 90, null]],
-[349, ["vspace", 0], 689, 629, [129, 346]],
-[350, "sandwichclampcollapsed", 1042, 842, [67, 69, null]],
-[351, ["vspace", 20], 637, 935, [39, 48]],
-[352, ["vspace", 20], 637, 769, [30, 39]],
-[353, "sandwichclampcollapsed", 654, 675, [28, 30, null]],
-[354, "sandwichclampcollapsed", 663, 469, [76, 78, null]],
-[355, "sandwichclampcollapsed", 671, 259, [109, 111, null]],
-[356, "sandwichclampcollapsed", 124, 816, [275, 277, null]],
-[357, "sandwichclampcollapsed", 122, 677, [302, 304, null]],
-[358, "sandwichclampcollapsed", 123, 521, [4, 6, null]],
-[359, "sandwichclampcollapsed", 123, 370, [248, 250, null]],
-[360, "sandwichclampcollapsed", 127, 232, [221, 223, null]],
-[361, "penup", 701, 377, [367, 116]],
-[362, "pendown", 701, 543, [116, 122]],
-[363, "hat", 718, 313, [null, 364, 367]],
-[364, ["string", "test"], 776, 325, [363, null]],
-[365, "stack", 707, 359, [111, 366, null]],
-[366, ["string", "test"], 765, 359, [365, null]],
-[367, "sandwichclampcollapsed", 718, 367, [363, 361, null]],
-[368, ["vspace", 1], 701, 837, [194, null]],
-[369, "penup", 689, 419, [111, 125]],
-[370, "pendown", 689, 545, [125, 129]],
-[371, "penup", 689, 839, [206, 139]],
-[372, "pendown", 689, 965, [139, 142]],
-[373, "penup", 700, 629, [90, 92]],
-[374, "pendown", 700, 755, [92, 95]],
-[375, "seth", 689, 713, [346, 376, 134]],
-[376, ["number", 0], 747, 713, [375, null]],
-[377, "seth", 725, 1359, [158, 378, 160]],
-[378, ["number", 0], 783, 1359, [377, null]]]
+[[0, ["string", "North America"], 285, 582, [229, null]],
+[1, ["journal", "./samples/images/North_America.jpg"], 285, 766, [257, null]],
+[2, ["number", 150], 473, 498, [226, null]],
+[3, ["number", 114], 473, 414, [220, null]],
+[4, "hat", 200, 400, [null, 5, 340]],
+[5, ["string", "Q3"], 258, 412, [4, null]],
+[6, ["storein", 0], 218, 488, [340, 7, 200, 9]],
+[7, ["string", "x"], 285, 488, [6, null]],
+[8, ["number", 500], 473, 530, [197, null]],
+[9, ["storein", 0], 218, 572, [6, 10, 202, 12]],
+[10, ["string", "y"], 285, 572, [9, null]],
+[11, ["number", 300], 473, 614, [201, null]],
+[12, ["storein", 0], 218, 656, [9, 13, 208, 15]],
+[13, ["string", "size"], 285, 656, [12, null]],
+[14, ["number", 100], 473, 698, [207, null]],
+[15, ["storein", 0], 218, 740, [12, 16, 17, 18]],
+[16, ["string", "name"], 285, 740, [15, null]],
+[17, ["string", "New England"], 285, 782, [15, null]],
+[18, ["storein", 0], 218, 824, [15, 19, 106, 21]],
+[19, ["string", "picture"], 285, 824, [18, null]],
+[20, ["journal", "./samples/images/New-England.png"], 285, 966, [310, null]],
+[21, "stack", 218, 908, [18, 22, null]],
+[22, ["string", "go"], 276, 908, [21, null]],
+[23, ["number", -330], 473, 630, [293, null]],
+[24, ["number", -240], 473, 714, [299, null]],
+[25, ["number", 100], 473, 798, [305, null]],
+[26, ["string", "Massachusetts"], 285, 882, [308, null]],
+[27, ["journal", "./samples/images/Massachuetts.png"], 285, 1066, [283, null]],
+[28, "hat", 860, 300, [null, 29, 335]],
+[29, ["string", "calculate distance"], 918, 312, [28, null]],
+[30, ["storein", 0], 843, 364, [335, 31, 32, 334]],
+[31, ["string", "dx"], 910, 364, [30, null]],
+[32, ["minus2", 20.0], 910, 406, [30, 33, 38]],
+[33, ["product2", 0], 983, 406, [32, 34, 36]],
+[34, "box", 1037, 406, [33, 35, null]],
+[35, ["string", "x"], 1091, 406, [34, null]],
+[36, "box", 1037, 448, [33, 37, null]],
+[37, ["string", "scalex"], 1091, 448, [36, null]],
+[38, "xcor", 1007, 488, [32, null]],
+[39, ["storein", 0], 843, 530, [334, 40, 41, 333]],
+[40, ["string", "dy"], 910, 530, [39, null]],
+[41, ["minus2", 20.0], 910, 572, [39, 42, 47]],
+[42, ["product2", 0], 983, 572, [41, 43, 45]],
+[43, "box", 1037, 572, [42, 44, null]],
+[44, ["string", "y"], 1091, 572, [43, null]],
+[45, "box", 1037, 614, [42, 46, null]],
+[46, ["string", "scaley"], 1091, 614, [45, null]],
+[47, "ycor", 1007, 654, [41, null]],
+[48, ["storein", 0], 843, 696, [333, 49, 50, 193]],
+[49, ["string", "distance"], 910, 696, [48, null]],
+[50, "sqrt", 910, 738, [48, 51]],
+[51, ["plus2", 20.0], 964, 738, [50, 52, 57]],
+[52, ["product2", 0], 1018, 738, [51, 53, 55]],
+[53, "box", 1072, 738, [52, 54, null]],
+[54, ["string", "dx"], 1126, 738, [53, null]],
+[55, "box", 1072, 780, [52, 56, null]],
+[56, ["string", "dx"], 1126, 780, [55, null]],
+[57, ["product2", 0], 1018, 820, [51, 58, 60]],
+[58, "box", 1072, 820, [57, 59, null]],
+[59, ["string", "dy"], 1126, 820, [58, null]],
+[60, "box", 1072, 862, [57, 61, null]],
+[61, ["string", "dy"], 1126, 862, [60, null]],
+[62, ["number", 120], 473, 730, [266, null]],
+[63, ["number", 190], 473, 814, [272, null]],
+[64, ["number", 50], 473, 898, [278, null]],
+[65, ["string", "Boston"], 285, 982, [281, null]],
+[66, ["journal", "./samples/images/Boston.png"], 936, 698, [72, null]],
+[67, "setscale", 878, 530, [362, 68, 69]],
+[68, ["number", 100], 955, 530, [67, null]],
+[69, ["setxy2", 0], 878, 572, [67, 70, 71, 363]],
+[70, ["number", 0], 936, 572, [69, null]],
+[71, ["number", 0], 936, 614, [69, null]],
+[72, "show", 878, 698, [363, 66, 360]],
+[73, ["journal", "./samples/images/earth.png"], 285, 666, [231, null]],
+[74, "hat", 860, 200, [null, 75, 336]],
+[75, ["string", "setup"], 918, 212, [74, null]],
+[76, ["storein", 0], 878, 288, [336, 77, 78, 323]],
+[77, ["string", "scalex"], 945, 288, [76, null]],
+[78, ["division2", 0], 945, 330, [76, 322, 79]],
+[79, ["number", 1200], 1039, 372, [78, null]],
+[80, ["storein", 0], 878, 540, [328, 81, 82, 321]],
+[81, ["string", "box"], 945, 540, [80, null]],
+[82, ["product2", 0], 945, 582, [80, 83, 84]],
+[83, ["number", -260], 999, 582, [82, null]],
+[84, "box", 999, 624, [82, 85, null]],
+[85, ["string", "scalex"], 1053, 624, [84, null]],
+[86, "hat", 860, 400, [null, 87, 332]],
+[87, ["string", "game over"], 918, 412, [86, null]],
+[88, "setpensize", 878, 782, [360, 89, 354]],
+[89, ["number", 15], 980, 782, [88, null]],
+[90, ["setxy2", 0], 878, 866, [354, 91, 92, 355]],
+[91, ["number", 0], 936, 866, [90, null]],
+[92, ["number", 0], 936, 908, [90, null]],
+[93, ["repeat", 42], 878, 992, [355, 94, 95, null]],
+[94, ["number", 5], 936, 992, [93, null]],
+[95, "setcolor", 896, 1034, [93, 96, 97]],
+[96, "heading", 973, 1034, [95, null]],
+[97, "forward", 896, 1076, [95, 98, 99]],
+[98, ["number", 200], 966, 1076, [97, null]],
+[99, "right", 896, 1118, [97, 100, null]],
+[100, ["number", 144], 954, 1118, [99, null]],
+[101, "clean", 878, 666, [321, 315]],
+[102, ["number", -200], 473, 430, [240, null]],
+[103, ["number", -220], 473, 514, [246, null]],
+[104, ["number", 200], 473, 598, [252, null]],
+[105, ["string", "USA"], 285, 682, [255, null]],
+[106, ["journal", "./samples/images/United_States.png"], 285, 866, [18, null]],
+[107, "hat", 640, 200, [null, 108, 337]],
+[108, ["string", "go"], 698, 212, [107, null]],
+[109, ["if", 0], 658, 584, [287, 110, 347, 350]],
+[110, ["greater2", 0], 714, 550, [109, 111, 113, null]],
+[111, "box", 770, 550, [110, 112, null]],
+[112, ["string", "test"], 824, 550, [111, null]],
+[113, ["number", 0], 794, 592, [110, null]],
+[114, ["setxy2", 20.0], 658, 430, [343, 115, 118, 344]],
+[115, ["minus2", 0], 716, 430, [114, 116, 177]],
+[116, "box", 789, 430, [115, 117, null]],
+[117, ["string", "x"], 843, 430, [116, null]],
+[118, "box", 716, 512, [114, 119, null]],
+[119, ["string", "y"], 770, 512, [118, null]],
+[120, ["arc", 0], 658, 596, [344, 121, 122, 179]],
+[121, ["number", 360], 716, 596, [120, null]],
+[122, "box", 716, 638, [120, 314, null]],
+[123, ["setxy2", 0], 658, 752, [350, 124, 125, 351]],
+[124, ["number", 0], 716, 752, [123, null]],
+[125, "box", 716, 794, [123, 126, null]],
+[126, ["string", "box"], 770, 794, [125, null]],
+[127, "show", 658, 962, [356, 128, 195]],
+[128, ["plus2", 0], 716, 962, [127, 129, 130]],
+[129, ["string", "Put the turtle in "], 770, 962, [128, null]],
+[130, "box", 770, 1004, [128, 131, null]],
+[131, ["string", "name"], 824, 1004, [130, null]],
+[132, ["setxy2", 0], 658, 1088, [352, 133, 134, 353]],
+[133, ["number", 0], 716, 1088, [132, null]],
+[134, ["number", 0], 716, 1130, [132, null]],
+[135, ["forever", 105], 658, 488, [368, 136, null]],
+[136, "stack", 676, 522, [135, 137, 194]],
+[137, ["string", "calculate distance"], 734, 522, [136, null]],
+[138, ["if", 0], 676, 606, [194, 139, 156, 157]],
+[139, ["less2", 0], 732, 572, [138, 140, 142, null]],
+[140, "box", 788, 572, [139, 141, null]],
+[141, ["string", "distance"], 842, 572, [140, null]],
+[142, ["product2", 0], 812, 614, [139, 143, 145]],
+[143, "box", 866, 614, [142, 144, null]],
+[144, ["string", "size"], 920, 614, [143, null]],
+[145, "box", 866, 656, [142, 146, null]],
+[146, ["string", "scalex"], 920, 656, [145, null]],
+[147, "clean", 658, 288, [337, 148]],
+[148, ["setxy2", 0], 658, 330, [147, 149, 150, 151]],
+[149, ["number", 0], 716, 330, [148, null]],
+[150, ["number", 0], 716, 372, [148, null]],
+[151, "setscale", 658, 414, [148, 152, 358]],
+[152, ["number", 100], 735, 414, [151, null]],
+[153, "show", 658, 498, [358, 154, 287]],
+[154, "box", 716, 498, [153, 155, null]],
+[155, ["string", "picture"], 770, 498, [154, null]],
+[156, "stopstack", 694, 672, [138, null]],
+[157, "wait", 676, 732, [138, 158, null]],
+[158, ["number", 1], 734, 732, [157, null]],
+[159, ["start", 2.0], 400, 200, [null, 160]],
+[160, ["storein", 0], 400, 246, [159, 161, 162, 163]],
+[161, ["string", "test"], 467, 246, [160, null]],
+[162, ["number", 0.0], 467, 288, [160, null]],
+[163, "stack", 400, 330, [160, 164, 165]],
+[164, ["string", "setup"], 458, 330, [163, null]],
+[165, "stack", 400, 372, [163, 166, 167]],
+[166, ["string", "Q1"], 458, 372, [165, null]],
+[167, "stack", 400, 414, [165, 168, 169]],
+[168, ["string", "Q2"], 458, 414, [167, null]],
+[169, "stack", 400, 456, [167, 170, 171]],
+[170, ["string", "Q3"], 458, 456, [169, null]],
+[171, "stack", 400, 498, [169, 172, 173]],
+[172, ["string", "Q4"], 458, 498, [171, null]],
+[173, "stack", 400, 540, [171, 174, 175]],
+[174, ["string", "Q5"], 458, 540, [173, null]],
+[175, "stack", 400, 582, [173, 176, null]],
+[176, ["string", "game over"], 458, 582, [175, null]],
+[177, "box", 813, 472, [115, 178, null]],
+[178, ["string", "size"], 867, 472, [177, null]],
+[179, ["storein", 0], 658, 680, [120, 180, 181, 196]],
+[180, ["string", "box"], 725, 680, [179, null]],
+[181, ["plus2", 0], 725, 722, [179, 182, 183]],
+[182, "xcor", 779, 722, [181, null]],
+[183, "box", 779, 764, [181, 184, null]],
+[184, ["string", "size"], 833, 764, [183, null]],
+[185, "print", 658, 806, [196, 186, null]],
+[186, ["plus2", 0], 716, 806, [185, 187, 189]],
+[187, "box", 770, 806, [186, 188, null]],
+[188, ["string", "box"], 824, 806, [187, null]],
+[189, ["plus2", 0], 770, 848, [186, 190, 191]],
+[190, ["string", ", "], 824, 848, [189, null]],
+[191, "ycor", 824, 890, [189, null]],
+[192, ["number", -170], 473, 330, [214, null]],
+[193, ["vspace", 1], 843, 780, [48, null]],
+[194, ["vspace", 0], 676, 564, [136, 138]],
+[195, ["vspace", 0], 658, 1004, [127, 352]],
+[196, ["vspace", 0], 658, 764, [179, 185]],
+[197, ["product2", 0], 419, 530, [200, 8, 198]],
+[198, "box", 473, 572, [197, 199, null]],
+[199, ["string", "scalex"], 527, 572, [198, null]],
+[200, ["identity2", 40.0], 285, 530, [6, 197]],
+[201, ["product2", 0], 419, 614, [202, 11, 203]],
+[202, ["identity2", 40.0], 285, 614, [9, 201]],
+[203, "box", 473, 656, [201, 204, null]],
+[204, ["string", "scaley"], 527, 656, [203, null]],
+[205, "box", 473, 740, [207, 206, null]],
+[206, ["string", "scalex"], 527, 740, [205, null]],
+[207, ["product2", 0], 419, 698, [208, 14, 205]],
+[208, ["identity2", 40.0], 285, 698, [12, 207]],
+[209, "hat", 200, 200, [null, 210, 342]],
+[210, ["string", "Q1"], 258, 212, [209, null]],
+[211, ["storein", 0], 218, 288, [342, 212, 213, 217]],
+[212, ["string", "x"], 285, 288, [211, null]],
+[213, ["identity2", 40.0], 285, 330, [211, 214]],
+[214, ["product2", 0], 419, 330, [213, 192, 215]],
+[215, "box", 473, 372, [214, 216, null]],
+[216, ["string", "scalex"], 527, 372, [215, null]],
+[217, ["storein", 0], 218, 372, [211, 218, 219, 223]],
+[218, ["string", "y"], 285, 372, [217, null]],
+[219, ["identity2", 40.0], 285, 414, [217, 220]],
+[220, ["product2", 0], 419, 414, [219, 3, 221]],
+[221, "box", 473, 456, [220, 222, null]],
+[222, ["string", "scaley"], 527, 456, [221, null]],
+[223, ["storein", 0], 218, 456, [217, 224, 225, 229]],
+[224, ["string", "size"], 285, 456, [223, null]],
+[225, ["identity2", 40.0], 285, 498, [223, 226]],
+[226, ["product2", 0], 419, 498, [225, 2, 227]],
+[227, "box", 473, 540, [226, 228, null]],
+[228, ["string", "scalex"], 527, 540, [227, null]],
+[229, ["storein", 0], 218, 540, [223, 230, 0, 231]],
+[230, ["string", "name"], 285, 540, [229, null]],
+[231, ["storein", 0], 218, 624, [229, 232, 73, 233]],
+[232, ["string", "picture"], 285, 624, [231, null]],
+[233, "stack", 218, 708, [231, 234, null]],
+[234, ["string", "go"], 276, 708, [233, null]],
+[235, "hat", 200, 300, [null, 236, 341]],
+[236, ["string", "Q2"], 258, 312, [235, null]],
+[237, ["storein", 0], 218, 388, [341, 238, 239, 243]],
+[238, ["string", "x"], 285, 388, [237, null]],
+[239, ["identity2", 40.0], 285, 430, [237, 240]],
+[240, ["product2", 0], 419, 430, [239, 102, 241]],
+[241, "box", 473, 472, [240, 242, null]],
+[242, ["string", "scalex"], 527, 472, [241, null]],
+[243, ["storein", 0], 218, 472, [237, 244, 245, 249]],
+[244, ["string", "y"], 285, 472, [243, null]],
+[245, ["identity2", 40.0], 285, 514, [243, 246]],
+[246, ["product2", 0], 419, 514, [245, 103, 247]],
+[247, "box", 473, 556, [246, 248, null]],
+[248, ["string", "scaley"], 527, 556, [247, null]],
+[249, ["storein", 0], 218, 556, [243, 250, 251, 255]],
+[250, ["string", "size"], 285, 556, [249, null]],
+[251, ["identity2", 40.0], 285, 598, [249, 252]],
+[252, ["product2", 0], 419, 598, [251, 104, 253]],
+[253, "box", 473, 640, [252, 254, null]],
+[254, ["string", "scalex"], 527, 640, [253, null]],
+[255, ["storein", 0], 218, 640, [249, 256, 105, 257]],
+[256, ["string", "name"], 285, 640, [255, null]],
+[257, ["storein", 0], 218, 724, [255, 258, 1, 259]],
+[258, ["string", "picture"], 285, 724, [257, null]],
+[259, "stack", 218, 808, [257, 260, null]],
+[260, ["string", "go"], 276, 808, [259, null]],
+[261, "hat", 200, 600, [null, 262, 338]],
+[262, ["string", "Q5"], 258, 612, [261, null]],
+[263, ["storein", 0], 218, 688, [338, 264, 265, 269]],
+[264, ["string", "x"], 285, 688, [263, null]],
+[265, ["identity2", 40.0], 285, 730, [263, 266]],
+[266, ["product2", 0], 419, 730, [265, 62, 267]],
+[267, "box", 473, 772, [266, 268, null]],
+[268, ["string", "scalex"], 527, 772, [267, null]],
+[269, ["storein", 0], 218, 772, [263, 270, 271, 275]],
+[270, ["string", "y"], 285, 772, [269, null]],
+[271, ["identity2", 40.0], 285, 814, [269, 272]],
+[272, ["product2", 0], 419, 814, [271, 63, 273]],
+[273, "box", 473, 856, [272, 274, null]],
+[274, ["string", "scaley"], 527, 856, [273, null]],
+[275, ["storein", 0], 218, 856, [269, 276, 277, 281]],
+[276, ["string", "size"], 285, 856, [275, null]],
+[277, ["identity2", 40.0], 285, 898, [275, 278]],
+[278, ["product2", 0], 419, 898, [277, 64, 279]],
+[279, "box", 473, 940, [278, 280, null]],
+[280, ["string", "scalex"], 527, 940, [279, null]],
+[281, ["storein", 0], 218, 940, [275, 282, 65, 283]],
+[282, ["string", "name"], 285, 940, [281, null]],
+[283, ["storein", 0], 218, 1024, [281, 284, 27, 285]],
+[284, ["string", "picture"], 285, 1024, [283, null]],
+[285, "stack", 218, 1108, [283, 286, null]],
+[286, ["string", "go"], 276, 1108, [285, null]],
+[287, ["vspace", 1], 658, 540, [153, 109]],
+[288, "hat", 200, 500, [null, 289, 339]],
+[289, ["string", "Q4"], 258, 512, [288, null]],
+[290, ["storein", 0], 218, 588, [339, 291, 292, 296]],
+[291, ["string", "x"], 285, 588, [290, null]],
+[292, ["identity2", 40.0], 285, 630, [290, 293]],
+[293, ["product2", 0], 419, 630, [292, 23, 294]],
+[294, "box", 473, 672, [293, 295, null]],
+[295, ["string", "scalex"], 527, 672, [294, null]],
+[296, ["storein", 0], 218, 672, [290, 297, 298, 302]],
+[297, ["string", "y"], 285, 672, [296, null]],
+[298, ["identity2", 40.0], 285, 714, [296, 299]],
+[299, ["product2", 0], 419, 714, [298, 24, 300]],
+[300, "box", 473, 756, [299, 301, null]],
+[301, ["string", "scaley"], 527, 756, [300, null]],
+[302, ["storein", 0], 218, 756, [296, 303, 304, 308]],
+[303, ["string", "size"], 285, 756, [302, null]],
+[304, ["identity2", 40.0], 285, 798, [302, 305]],
+[305, ["product2", 0], 419, 798, [304, 25, 306]],
+[306, "box", 473, 840, [305, 307, null]],
+[307, ["string", "scalex"], 527, 840, [306, null]],
+[308, ["storein", 0], 218, 840, [302, 309, 26, 310]],
+[309, ["string", "name"], 285, 840, [308, null]],
+[310, ["storein", 0], 218, 924, [308, 311, 20, 312]],
+[311, ["string", "picture"], 285, 924, [310, null]],
+[312, "stack", 218, 1008, [310, 313, null]],
+[313, ["string", "go"], 276, 1008, [312, null]],
+[314, ["string", "size"], 770, 638, [122, null]],
+[315, ["if", 0], 878, 708, [101, 316, 318, null]],
+[316, ["equal2", 0], 934, 674, [315, 319, 317, null]],
+[317, ["number", 0], 990, 716, [316, null]],
+[318, "hideblocks", 896, 774, [315, null]],
+[319, "box", 990, 674, [316, 320, null]],
+[320, ["string", "test"], 1044, 674, [319, null]],
+[321, ["vspace", 0], 878, 624, [80, 101]],
+[322, "width", 1015, 330, [78, null]],
+[323, ["vspace", 0], 878, 372, [76, 324]],
+[324, ["storein", 0], 878, 414, [323, 325, 326, 328]],
+[325, ["string", "scaley"], 945, 414, [324, null]],
+[326, ["division2", 0], 945, 456, [324, 329, 327]],
+[327, ["number", 900], 1039, 498, [326, null]],
+[328, ["vspace", 0], 878, 498, [324, 80]],
+[329, "height", 1015, 456, [326, null]],
+[330, "setscale", 658, 878, [351, 331, 356]],
+[331, ["number", 50.0], 735, 878, [330, null]],
+[332, "sandwichclampcollapsed", 860, 454, [86, 362, null]],
+[333, ["vspace", 20], 843, 614, [39, 48]],
+[334, ["vspace", 20], 843, 448, [30, 39]],
+[335, "sandwichclampcollapsed", 860, 354, [28, 30, null]],
+[336, "sandwichclampcollapsed", 860, 254, [74, 76, null]],
+[337, "sandwichclampcollapsed", 640, 254, [107, 147, null]],
+[338, "sandwichclampcollapsed", 200, 654, [261, 263, null]],
+[339, "sandwichclampcollapsed", 200, 554, [288, 290, null]],
+[340, "sandwichclampcollapsed", 200, 454, [4, 6, null]],
+[341, "sandwichclampcollapsed", 200, 354, [235, 237, null]],
+[342, "sandwichclampcollapsed", 200, 254, [209, 211, null]],
+[343, "penup", 658, 388, [349, 114]],
+[344, "pendown", 658, 554, [114, 120]],
+[345, "hat", 640, 300, [null, 346, 349]],
+[346, ["string", "test"], 698, 312, [345, null]],
+[347, "stack", 676, 650, [109, 348, null]],
+[348, ["string", "test"], 734, 650, [347, null]],
+[349, "sandwichclampcollapsed", 640, 354, [345, 343, null]],
+[350, "penup", 658, 710, [109, 123]],
+[351, "pendown", 658, 836, [123, 330]],
+[352, "penup", 658, 1046, [195, 132]],
+[353, "pendown", 658, 1172, [132, 366]],
+[354, "penup", 878, 824, [88, 90]],
+[355, "pendown", 878, 950, [90, 93]],
+[356, "seth", 658, 920, [330, 357, 127]],
+[357, ["number", 0], 716, 920, [356, null]],
+[358, "seth", 658, 456, [151, 359, 153]],
+[359, ["number", 0], 716, 456, [358, null]],
+[360, "wait", 878, 740, [72, 361, 88]],
+[361, ["number", 1], 936, 740, [360, null]],
+[362, "penup", 878, 488, [332, 67]],
+[363, "pendown", 878, 656, [69, 72]],
+[364, "hat", 640, 400, [null, 365, 368]],
+[365, ["string", "loop"], 698, 412, [364, null]],
+[366, "stack", 658, 1214, [353, 367, null]],
+[367, ["string", "loop"], 716, 1214, [366, null]],
+[368, "sandwichclampcollapsed", 640, 454, [364, 135, null]],
+[369, "setscale", 459, 23, [null, 370, null]],
+[370, ["number", 33], 536, 23, [369, null]]]
diff --git a/samples/game-gonu.tb b/samples/game-gonu.tb
new file mode 100644
index 0000000..b779f65
--- /dev/null
+++ b/samples/game-gonu.tb
@@ -0,0 +1,85 @@
+[[0, ["start", 2.0], 60, 120, [null, 69]],
+[1, "back", 738, 153, [79, 15, 3]],
+[2, ["number", 2], 850, 237, [53, null]],
+[3, "forward", 738, 195, [1, 53, 4]],
+[4, ["vspace", 0], 738, 237, [3, 81]],
+[5, ["arc", 0], 738, 321, [81, 6, 19, 83]],
+[6, ["number", 270], 796, 321, [5, null]],
+[7, "forward", 738, 447, [83, 54, 74]],
+[8, "hat", 738, 15, [null, 9, 29]],
+[9, ["string", "board"], 796, 27, [8, null]],
+[10, "stack", 60, 416, [26, 11, 70]],
+[11, ["string", "board"], 118, 416, [10, null]],
+[12, ["storein", 0], 60, 250, [78, 13, 25, 26]],
+[13, ["string", "radius"], 118, 250, [12, null]],
+[14, ["number", 100], 206, 374, [25, null]],
+[15, "box", 796, 153, [1, 16, null]],
+[16, ["string", "radius"], 851, 153, [15, null]],
+[17, "box", 850, 195, [53, 18, null]],
+[18, ["string", "radius"], 905, 195, [17, null]],
+[19, "box", 796, 363, [5, 20, null]],
+[20, ["string", "radius"], 851, 363, [19, null]],
+[21, "box", 850, 447, [54, 22, null]],
+[22, ["string", "radius"], 905, 447, [21, null]],
+[23, ["number", 2], 850, 489, [54, null]],
+[24, "height", 245, 292, [67, null]],
+[25, ["minus2", 20], 118, 292, [12, 67, 14]],
+[26, ["vspace", 20], 60, 334, [12, 10]],
+[27, "addturtle", 315, 506, [49, 28, 33]],
+[28, ["number", 90], 373, 506, [27, null]],
+[29, "setcolor", 738, 69, [8, 30, 79]],
+[30, "black", 796, 69, [29, null]],
+[31, ["setxy2", 0], 315, 590, [33, 32, 63, 34]],
+[32, ["number", 0], 408, 590, [31, null]],
+[33, "penup", 315, 548, [27, 31]],
+[34, "addturtle", 315, 674, [31, 35, 36]],
+[35, ["number", 91], 373, 674, [34, null]],
+[36, "penup", 315, 716, [34, 37]],
+[37, ["setxy2", 0], 315, 758, [36, 38, 59, null]],
+[38, ["number", 0], 408, 758, [37, null]],
+[39, "addturtle", 479, 255, [47, 40, 41]],
+[40, ["number", 66], 537, 255, [39, null]],
+[41, "penup", 479, 297, [39, 42]],
+[42, ["setxy2", 20], 479, 339, [41, 55, 43, null]],
+[43, ["number", 0], 572, 421, [42, null]],
+[44, "addturtle", 479, 87, [51, 45, 46]],
+[45, ["number", 65], 537, 87, [44, null]],
+[46, "penup", 479, 129, [44, 47]],
+[47, ["setxy2", 0], 479, 171, [46, 65, 48, 39]],
+[48, ["number", 0], 572, 213, [47, null]],
+[49, "hat", 315, 452, [null, 50, 27]],
+[50, ["string", "red"], 373, 464, [49, null]],
+[51, "hat", 479, 33, [null, 52, 44]],
+[52, ["string", "blue"], 537, 45, [51, null]],
+[53, ["product2", 0], 796, 195, [3, 17, 2]],
+[54, ["product2", 0], 796, 447, [7, 21, 23]],
+[55, ["product2", 0], 572, 339, [42, 57, 56]],
+[56, ["number", -1], 626, 381, [55, null]],
+[57, "box", 626, 339, [55, 58, null]],
+[58, ["string", "radius"], 681, 339, [57, null]],
+[59, ["product2", 0], 408, 800, [37, 60, 62]],
+[60, "box", 462, 800, [59, 61, null]],
+[61, ["string", "radius"], 517, 800, [60, null]],
+[62, ["number", -1], 462, 842, [59, null]],
+[63, "box", 408, 632, [31, 64, null]],
+[64, ["string", "radius"], 463, 632, [63, null]],
+[65, "box", 572, 171, [47, 66, null]],
+[66, ["string", "radius"], 627, 171, [65, null]],
+[67, ["division2", 0], 182, 292, [25, 24, 68]],
+[68, ["number", 2], 269, 334, [67, null]],
+[69, "clean", 60, 166, [0, 78]],
+[70, "stack", 60, 458, [10, 71, 72]],
+[71, ["string", "red"], 118, 458, [70, null]],
+[72, "stack", 60, 500, [70, 73, null]],
+[73, ["string", "blue"], 118, 500, [72, null]],
+[74, "penup", 738, 489, [7, 75]],
+[75, ["setxy2", 0], 738, 531, [74, 76, 77, null]],
+[76, "width", 831, 531, [75, null]],
+[77, "height", 831, 573, [75, null]],
+[78, "fullscreen", 60, 208, [69, 12]],
+[79, "setpensize", 738, 111, [29, 80, 1]],
+[80, ["number", 15], 830, 111, [79, null]],
+[81, "right", 738, 279, [4, 82, 5]],
+[82, ["number", 90], 796, 279, [81, null]],
+[83, "right", 738, 405, [5, 84, 7]],
+[84, ["number", 90], 796, 405, [83, null]]]
diff --git a/samples/game-shapes-and-color.ta b/samples/game-shapes-and-color.ta
index 952bd9c..ec9b550 100644
--- a/samples/game-shapes-and-color.ta
+++ b/samples/game-shapes-and-color.ta
@@ -1,392 +1,391 @@
-[[0, "hat", 801, 239, [null, 1, 380]],
-[1, ["string", "circle"], 859, 247, [0, null]],
-[2, "penup", 801, 323, [380, 3]],
-[3, "seth", 801, 365, [2, 4, 5]],
-[4, ["number", 270], 900, 365, [3, null]],
-[5, "forward", 801, 407, [3, 6, 7]],
-[6, ["number", 56], 872, 407, [5, null]],
-[7, "seth", 801, 449, [5, 8, 9]],
-[8, ["number", 0], 900, 449, [7, null]],
-[9, "pendown", 801, 491, [7, 10]],
-[10, ["arc", 0], 801, 533, [9, 11, 12, 335]],
-[11, ["number", 360], 859, 533, [10, null]],
-[12, ["number", 56], 859, 575, [10, null]],
-[13, "hat", 796, 97, [null, 14, 378]],
-[14, ["string", "square"], 854, 105, [13, null]],
-[15, "penup", 796, 181, [378, 16]],
-[16, "seth", 796, 223, [15, 17, 18]],
-[17, ["number", 0], 895, 223, [16, null]],
-[18, "back", 796, 265, [16, 19, 20]],
-[19, ["number", 50], 854, 265, [18, null]],
-[20, "seth", 796, 307, [18, 21, 22]],
-[21, ["number", 270], 895, 307, [20, null]],
-[22, "forward", 796, 349, [20, 23, 24]],
-[23, ["number", 50], 867, 349, [22, null]],
-[24, "seth", 796, 391, [22, 25, 26]],
-[25, ["number", 0], 895, 391, [24, null]],
-[26, "pendown", 796, 433, [24, 27]],
-[27, "repeat", 796, 475, [26, 28, 29, 350]],
-[28, ["number", 4], 847, 475, [27, null]],
-[29, "forward", 861, 535, [27, 30, 31]],
-[30, ["number", 100], 932, 535, [29, null]],
-[31, "right", 861, 577, [29, 32, null]],
-[32, ["number", 90], 919, 577, [31, null]],
-[33, "hat", 805, 532, [null, 34, 379]],
-[34, ["string", "triangle"], 863, 540, [33, null]],
-[35, "penup", 805, 616, [379, 36]],
-[36, "seth", 805, 658, [35, 37, 38]],
-[37, ["number", 270], 904, 658, [36, null]],
-[38, "forward", 805, 700, [36, 39, 40]],
-[39, ["number", 60], 876, 700, [38, null]],
-[40, "seth", 805, 742, [38, 41, 42]],
-[41, ["number", 0], 904, 742, [40, null]],
-[42, "back", 805, 784, [40, 43, 44]],
-[43, ["number", 50], 863, 784, [42, null]],
-[44, "seth", 805, 826, [42, 45, 46]],
-[45, ["number", 30], 904, 826, [44, null]],
-[46, "pendown", 805, 868, [44, 47]],
-[47, "repeat", 805, 910, [46, 48, 49, 349]],
-[48, ["number", 3], 856, 910, [47, null]],
-[49, "forward", 870, 970, [47, 50, 51]],
-[50, ["number", 120], 941, 970, [49, null]],
-[51, "right", 870, 1012, [49, 52, null]],
-[52, ["number", 120], 928, 1012, [51, null]],
-[53, "seth", 805, 1070, [349, 54, 348]],
-[54, ["number", 0], 904, 1070, [53, null]],
-[55, "hat", 806, 387, [null, 56, 381]],
-[56, ["string", "star"], 864, 395, [55, null]],
-[57, "penup", 806, 471, [381, 58]],
-[58, "seth", 806, 513, [57, 59, 60]],
-[59, ["number", 0], 905, 513, [58, null]],
-[60, "back", 806, 555, [58, 61, 62]],
-[61, ["number", 44], 864, 555, [60, null]],
-[62, "seth", 806, 597, [60, 63, 64]],
-[63, ["number", 270], 905, 597, [62, null]],
-[64, "forward", 806, 639, [62, 65, 66]],
-[65, ["number", 30], 877, 639, [64, null]],
-[66, "seth", 806, 681, [64, 67, 68]],
-[67, ["number", 18], 905, 681, [66, null]],
-[68, "pendown", 806, 723, [66, 69]],
-[69, "repeat", 806, 765, [68, 70, 71, 346]],
-[70, ["number", 5], 857, 765, [69, null]],
-[71, "forward", 871, 825, [69, 72, 73]],
-[72, ["number", 100], 942, 825, [71, null]],
-[73, "right", 871, 867, [71, 74, null]],
-[74, ["number", 144], 929, 867, [73, null]],
-[75, "seth", 806, 925, [346, 76, 347]],
-[76, ["number", 0], 905, 925, [75, null]],
-[77, "hat", 1043, 420, [null, 78, 370]],
-[78, ["string", "shapes"], 1101, 428, [77, null]],
-[79, "setpensize", 1043, 504, [370, 80, 356]],
-[80, ["number", 10], 1145, 504, [79, null]],
-[81, ["setxy2", 0], 1043, 588, [356, 82, 83, 357]],
-[82, ["number", -100], 1101, 588, [81, null]],
-[83, ["number", 100], 1101, 630, [81, null]],
-[84, "setcolor", 1043, 714, [357, 85, 86]],
-[85, "pop", 1120, 714, [84, null]],
-[86, "stack", 1043, 756, [84, 87, 358]],
-[87, "pop", 1101, 756, [86, null]],
-[88, ["setxy2", 0], 1043, 840, [358, 89, 90, 359]],
-[89, ["number", 100], 1101, 840, [88, null]],
-[90, ["number", 100], 1101, 882, [88, null]],
-[91, "setcolor", 1043, 966, [359, 92, 93]],
-[92, "pop", 1120, 966, [91, null]],
-[93, "stack", 1043, 1008, [91, 94, 360]],
-[94, "pop", 1101, 1008, [93, null]],
-[95, ["setxy2", 0], 1043, 1092, [360, 96, 97, 361]],
-[96, ["number", 100], 1101, 1092, [95, null]],
-[97, ["number", -100], 1101, 1134, [95, null]],
-[98, "setcolor", 1043, 1218, [361, 99, 100]],
-[99, "pop", 1120, 1218, [98, null]],
-[100, "stack", 1043, 1260, [98, 101, 362]],
-[101, "pop", 1101, 1260, [100, null]],
-[102, ["setxy2", 0], 1043, 1344, [362, 103, 104, 363]],
-[103, ["number", -100], 1101, 1344, [102, null]],
-[104, ["number", -100], 1101, 1386, [102, null]],
-[105, "setcolor", 1043, 1470, [363, 106, 107]],
-[106, "pop", 1120, 1470, [105, null]],
-[107, "stack", 1043, 1512, [105, 108, 364]],
-[108, "pop", 1101, 1512, [107, null]],
-[109, "hat", 1039, 263, [null, 110, 377]],
-[110, ["string", "calculate distance"], 1097, 271, [109, null]],
-[111, ["storein", 0], 1039, 347, [377, 112, 113, 355]],
-[112, ["string", "dx"], 1107, 347, [111, null]],
-[113, ["minus2", 0], 1107, 389, [111, 114, 116]],
-[114, "box", 1161, 389, [113, 115, null]],
-[115, ["string", "x"], 1216, 389, [114, null]],
-[116, "xcor", 1185, 431, [113, null]],
-[117, ["storein", 0], 1039, 473, [355, 118, 119, 354]],
-[118, ["string", "dy"], 1107, 473, [117, null]],
-[119, ["minus2", 0], 1107, 515, [117, 120, 122]],
-[120, "box", 1161, 515, [119, 121, null]],
-[121, ["string", "y"], 1216, 515, [120, null]],
-[122, "ycor", 1185, 557, [119, null]],
-[123, ["storein", 0], 1039, 599, [354, 124, 125, 334]],
-[124, ["string", "distance"], 1107, 599, [123, null]],
-[125, "sqrt", 1107, 641, [123, 126]],
-[126, ["plus2", 20.0], 1161, 641, [125, 127, 132]],
-[127, ["product2", 0], 1215, 641, [126, 128, 130]],
-[128, "box", 1269, 641, [127, 129, null]],
-[129, ["string", "dx"], 1324, 641, [128, null]],
-[130, "box", 1269, 683, [127, 131, null]],
-[131, ["string", "dx"], 1324, 683, [130, null]],
-[132, ["product2", 0], 1215, 723, [126, 133, 135]],
-[133, "box", 1269, 723, [132, 134, null]],
-[134, ["string", "dy"], 1324, 723, [133, null]],
-[135, "box", 1269, 765, [132, 136, null]],
-[136, ["string", "dy"], 1324, 765, [135, null]],
-[137, "hat", 516, 195, [null, 138, 382]],
-[138, ["string", "q1"], 574, 203, [137, null]],
-[139, ["storein", 0], 516, 279, [382, 140, 141, 142]],
-[140, ["string", "x"], 584, 279, [139, null]],
-[141, ["number", 100], 584, 321, [139, null]],
-[142, ["storein", 0], 516, 363, [139, 143, 144, 145]],
-[143, ["string", "y"], 584, 363, [142, null]],
-[144, ["number", 100], 584, 405, [142, null]],
-[145, "push", 516, 447, [142, 158, 146]],
-[146, "stack", 516, 489, [145, 147, 351]],
-[147, ["string", "ask"], 574, 489, [146, null]],
-[148, "hat", 518, 335, [null, 156, 383]],
-[149, ["storein", 0], 518, 419, [383, 150, 160, 151]],
-[150, ["string", "x"], 586, 419, [149, null]],
-[151, ["storein", 0], 518, 503, [149, 152, 159, 153]],
-[152, ["string", "y"], 586, 503, [151, null]],
-[153, "push", 518, 587, [151, 157, 154]],
-[154, "stack", 518, 629, [153, 155, 352]],
-[155, ["string", "ask"], 576, 629, [154, null]],
-[156, ["string", "q2"], 576, 343, [148, null]],
-[157, ["string", "Put the turtle in the red square."], 576, 587, [153, null]],
-[158, ["string", "Put the turtle in the blue triangle."], 574, 447, [145, null]],
-[159, ["number", 100], 586, 545, [151, null]],
-[160, ["number", -100], 586, 461, [149, null]],
-[161, "hat", 513, 477, [null, 162, 384]],
-[162, ["string", "q3"], 571, 485, [161, null]],
-[163, ["storein", 0], 513, 561, [384, 164, 183, 165]],
-[164, ["string", "x"], 581, 561, [163, null]],
-[165, ["storein", 0], 513, 645, [163, 166, 167, 168]],
-[166, ["string", "y"], 581, 645, [165, null]],
-[167, ["number", -100], 581, 687, [165, null]],
-[168, "push", 513, 729, [165, 182, 169]],
-[169, "stack", 513, 771, [168, 170, 353]],
-[170, ["string", "ask"], 571, 771, [169, null]],
-[171, "hat", 1052, 102, [null, 172, 385]],
-[172, ["string", "fini"], 1110, 110, [171, null]],
-[173, ["storein", 0], 1052, 186, [385, 176, 174, 175]],
-[174, ["number", 0], 1120, 228, [173, null]],
-[175, ["storein", 0], 1052, 270, [173, 177, 178, 179]],
-[176, ["string", "x"], 1120, 186, [173, null]],
-[177, ["string", "y"], 1120, 270, [175, null]],
-[178, ["number", 0], 1120, 312, [175, null]],
-[179, "push", 1052, 354, [175, 184, 180]],
-[180, "stack", 1052, 396, [179, 181, 345]],
-[181, ["string", "ask"], 1110, 396, [180, null]],
-[182, ["string", "Put the turtle in the red circle."], 571, 729, [168, null]],
-[183, ["number", -100], 581, 603, [163, null]],
-[184, ["string", "Well played!"], 1110, 354, [179, null]],
-[185, ["start", 2.0], 345, 201, [null, 374]],
-[186, ["storein", 0], 345, 277, [374, 187, 188, 189]],
-[187, ["string", "blue"], 413, 277, [186, null]],
-[188, ["number", 70], 413, 319, [186, null]],
-[189, ["storein", 0], 345, 361, [186, 190, 191, 192]],
-[190, ["string", "red"], 413, 361, [189, null]],
-[191, ["number", 0], 413, 403, [189, null]],
-[192, ["storein", 0], 345, 445, [189, 193, 194, 195]],
-[193, ["string", "green"], 413, 445, [192, null]],
-[194, ["number", 30], 413, 487, [192, null]],
-[195, "hideblocks", 345, 529, [192, 196]],
-[196, "stack", 345, 571, [195, 197, 198]],
-[197, ["string", "pattern a"], 403, 571, [196, null]],
-[198, "stack", 345, 613, [196, 199, 200]],
-[199, ["string", "q1"], 403, 613, [198, null]],
-[200, "stack", 345, 655, [198, 228, 201]],
-[201, "stack", 345, 697, [200, 202, 203]],
-[202, ["string", "q2"], 403, 697, [201, null]],
-[203, "stack", 345, 739, [201, 227, 204]],
-[204, "stack", 345, 781, [203, 205, 206]],
-[205, ["string", "q3"], 403, 781, [204, null]],
-[206, "stack", 345, 823, [204, 207, 343]],
-[207, ["string", "fini"], 403, 823, [206, null]],
-[208, "hat", 290, 493, [null, 209, 376]],
-[209, ["string", "answer"], 348, 501, [208, null]],
-[210, ["setxy2", 0], 290, 619, [388, 211, 212, 213]],
-[211, ["number", 0], 348, 619, [210, null]],
-[212, ["number", 0], 348, 661, [210, null]],
-[213, "forever", 290, 703, [210, 214, 336]],
-[214, "stack", 351, 721, [213, 215, 337]],
-[215, ["string", "calculate distance"], 409, 721, [214, null]],
-[216, "if", 351, 805, [337, 217, 221, 338]],
-[217, ["less2", 0], 389, 771, [216, 218, 220, null]],
-[218, "box", 435, 771, [217, 219, null]],
-[219, ["string", "distance"], 490, 771, [218, null]],
-[220, ["number", 100], 435, 813, [217, null]],
-[221, ["setxy2", 0], 403, 873, [216, 222, 223, 389]],
-[222, ["number", 0], 461, 873, [221, null]],
-[223, ["number", 0], 461, 915, [221, null]],
-[224, "stopstack", 403, 999, [389, null]],
-[225, "wait", 351, 1053, [338, 226, null]],
-[226, ["number", 1], 409, 1053, [225, null]],
-[227, ["string", "pattern c"], 403, 739, [203, null]],
-[228, ["string", "pattern b"], 403, 655, [200, null]],
-[229, "hat", 1313, 430, [null, 230, 373]],
-[230, ["string", "pattern a"], 1371, 438, [229, null]],
-[231, "clean", 1313, 514, [373, 232]],
-[232, "push", 1313, 556, [231, 233, 234]],
-[233, ["string", "square"], 1371, 556, [232, null]],
-[234, "push", 1313, 598, [232, 235, 237]],
-[235, "box", 1371, 598, [234, 236, null]],
-[236, ["string", "blue"], 1426, 598, [235, null]],
-[237, "push", 1313, 640, [234, 238, 239]],
-[238, ["string", "circle"], 1371, 640, [237, null]],
-[239, "push", 1313, 682, [237, 240, 242]],
-[240, "box", 1371, 682, [239, 241, null]],
-[241, ["string", "green"], 1426, 682, [240, null]],
-[242, "push", 1313, 724, [239, 243, 244]],
-[243, ["string", "triangle"], 1371, 724, [242, null]],
-[244, "push", 1313, 766, [242, 245, 247]],
-[245, "box", 1371, 766, [244, 246, null]],
-[246, ["string", "blue"], 1426, 766, [245, null]],
-[247, "push", 1313, 808, [244, 248, 249]],
-[248, ["string", "square"], 1371, 808, [247, null]],
-[249, "push", 1313, 850, [247, 250, 252]],
-[250, "box", 1371, 850, [249, 251, null]],
-[251, ["string", "red"], 1426, 850, [250, null]],
-[252, "stack", 1313, 892, [249, 253, 342]],
-[253, ["string", "shapes"], 1371, 892, [252, null]],
-[254, "hat", 1306, 268, [null, 255, 372]],
-[255, ["string", "pattern b"], 1364, 276, [254, null]],
-[256, "clean", 1306, 352, [372, 257]],
-[257, "push", 1306, 394, [256, 258, 259]],
-[258, ["string", "triangle"], 1364, 394, [257, null]],
-[259, "push", 1306, 436, [257, 260, 262]],
-[260, "box", 1364, 436, [259, 261, null]],
-[261, ["string", "red"], 1419, 436, [260, null]],
-[262, "push", 1306, 478, [259, 263, 264]],
-[263, ["string", "circle"], 1364, 478, [262, null]],
-[264, "push", 1306, 520, [262, 265, 267]],
-[265, "box", 1364, 520, [264, 266, null]],
-[266, ["string", "green"], 1419, 520, [265, null]],
-[267, "push", 1306, 562, [264, 268, 269]],
-[268, ["string", "square"], 1364, 562, [267, null]],
-[269, "push", 1306, 604, [267, 270, 272]],
-[270, "box", 1364, 604, [269, 271, null]],
-[271, ["string", "green"], 1419, 604, [270, null]],
-[272, "push", 1306, 646, [269, 273, 274]],
-[273, ["string", "square"], 1364, 646, [272, null]],
-[274, "push", 1306, 688, [272, 275, 277]],
-[275, "box", 1364, 688, [274, 276, null]],
-[276, ["string", "red"], 1419, 688, [275, null]],
-[277, "stack", 1306, 730, [274, 278, 341]],
-[278, ["string", "shapes"], 1364, 730, [277, null]],
-[279, "hat", 1296, 108, [null, 280, 371]],
-[280, ["string", "pattern c"], 1354, 116, [279, null]],
-[281, "clean", 1296, 192, [371, 282]],
-[282, "push", 1296, 234, [281, 283, 284]],
-[283, ["string", "circle"], 1354, 234, [282, null]],
-[284, "push", 1296, 276, [282, 285, 287]],
-[285, "box", 1354, 276, [284, 286, null]],
-[286, ["string", "red"], 1409, 276, [285, null]],
-[287, "push", 1296, 318, [284, 288, 289]],
-[288, ["string", "circle"], 1354, 318, [287, null]],
-[289, "push", 1296, 360, [287, 290, 292]],
-[290, "box", 1354, 360, [289, 291, null]],
-[291, ["string", "green"], 1409, 360, [290, null]],
-[292, "push", 1296, 402, [289, 293, 294]],
-[293, ["string", "square"], 1354, 402, [292, null]],
-[294, "push", 1296, 444, [292, 295, 297]],
-[295, "box", 1354, 444, [294, 296, null]],
-[296, ["string", "blue"], 1409, 444, [295, null]],
-[297, "push", 1296, 486, [294, 298, 299]],
-[298, ["string", "triangle"], 1354, 486, [297, null]],
-[299, "push", 1296, 528, [297, 300, 302]],
-[300, "box", 1354, 528, [299, 301, null]],
-[301, ["string", "red"], 1409, 528, [300, null]],
-[302, "stack", 1296, 570, [299, 303, 340]],
-[303, ["string", "shapes"], 1354, 570, [302, null]],
-[304, "hat", 284, 343, [null, 305, 375]],
-[305, ["string", "ask"], 342, 351, [304, null]],
-[306, ["setxy2", 0], 284, 469, [386, 307, 308, 387]],
-[307, ["number", -300], 342, 469, [306, null]],
-[308, ["number", 300], 342, 511, [306, null]],
-[309, "seth", 284, 595, [387, 310, 311]],
-[310, ["number", 90], 383, 595, [309, null]],
-[311, "setcolor", 284, 637, [309, 312, 313]],
-[312, ["number", 0], 361, 637, [311, null]],
-[313, "setshade", 284, 679, [311, 314, 315]],
-[314, ["number", 100], 369, 679, [313, null]],
-[315, "setpensize", 284, 721, [313, 316, 317]],
-[316, ["number", 120], 386, 721, [315, null]],
-[317, "forward", 284, 763, [315, 318, 319]],
-[318, ["number", 700], 355, 763, [317, null]],
-[319, "back", 284, 805, [317, 320, 321]],
-[320, ["number", 700], 342, 805, [319, null]],
-[321, "setshade", 284, 847, [319, 322, 323]],
-[322, ["number", 50], 369, 847, [321, null]],
-[323, "seth", 284, 889, [321, 324, 390]],
-[324, ["number", 0], 383, 889, [323, null]],
-[325, ["setxy2", 0], 284, 973, [390, 326, 327, 391]],
-[326, ["number", -300], 342, 973, [325, null]],
-[327, ["number", 300], 342, 1015, [325, null]],
-[328, "settextsize", 284, 1099, [391, 329, 330]],
-[329, ["number", 24], 388, 1099, [328, null]],
-[330, "show", 284, 1141, [328, 331, 332]],
-[331, "pop", 342, 1141, [330, null]],
-[332, "stack", 284, 1183, [330, 333, 339]],
-[333, ["string", "answer"], 342, 1183, [332, null]],
-[334, ["sandwichcollapsed", 1], 1039, 347, [123, null]],
-[335, ["sandwichcollapsed", 1], 801, 323, [10, null]],
-[336, ["sandwichcollapsed", 1], 290, 577, [213, null]],
-[337, ["vspace", 0], 351, 763, [214, 216]],
-[338, ["vspace", 60.0], 351, 891, [216, 225]],
-[339, ["sandwichcollapsed", 1], 284, 427, [332, null]],
-[340, ["sandwichcollapsed", 1], 1296, 192, [302, null]],
-[341, ["sandwichcollapsed", 1], 1306, 352, [277, null]],
-[342, ["sandwichcollapsed", 1], 1313, 514, [252, null]],
-[343, "showblocks", 345, 865, [206, 344]],
-[344, ["sandwichcollapsed", 1], 345, 277, [343, null]],
-[345, ["sandwichcollapsed", 1], 1052, 186, [180, null]],
-[346, ["vspace", 20.0], 806, 843, [69, 75]],
-[347, ["sandwichcollapsed", 1], 806, 471, [75, null]],
-[348, ["sandwichcollapsed", 1], 805, 616, [53, null]],
-[349, ["vspace", 20.0], 805, 988, [47, 53]],
-[350, ["sandwichcollapsed", 1], 796, 181, [27, null]],
-[351, ["sandwichcollapsed", 1], 516, 279, [146, null]],
-[352, ["sandwichcollapsed", 1], 518, 419, [154, null]],
-[353, ["sandwichcollapsed", 1], 513, 561, [169, null]],
-[354, ["vspace", 0], 1039, 557, [117, 123]],
-[355, ["vspace", 0], 1039, 431, [111, 117]],
-[356, "penup", 1043, 546, [79, 81]],
-[357, "pendown", 1043, 672, [81, 84]],
-[358, "penup", 1043, 798, [86, 88]],
-[359, "pendown", 1043, 924, [88, 91]],
-[360, "penup", 1043, 1050, [93, 95]],
-[361, "pendown", 1043, 1176, [95, 98]],
-[362, "penup", 1043, 1302, [100, 102]],
-[363, "pendown", 1043, 1428, [102, 105]],
-[364, "penup", 1043, 1554, [107, 366]],
-[365, "pendown", 1043, 1680, [366, 369]],
-[366, ["setxy2", 0], 1043, 1596, [364, 367, 368, 365]],
-[367, ["number", 0], 1101, 1596, [366, null]],
-[368, ["number", 0], 1101, 1638, [366, null]],
-[369, ["sandwichcollapsed", 1], 1043, 504, [365, null]],
-[370, "sandwichtop_no_arm_no_label", 1025, 470, [77, 79]],
-[371, "sandwichtop_no_arm_no_label", 1278, 158, [279, 281]],
-[372, "sandwichtop_no_arm_no_label", 1288, 318, [254, 256]],
-[373, "sandwichtop_no_arm_no_label", 1295, 480, [229, 231]],
-[374, "sandwichtop_no_arm_no_label", 327, 243, [185, 186]],
-[375, "sandwichtop_no_arm_no_label", 266, 393, [304, 386]],
-[376, "sandwichtop_no_arm_no_label", 272, 543, [208, 388]],
-[377, "sandwichtop_no_arm_no_label", 1021, 313, [109, 111]],
-[378, "sandwichtop_no_arm_no_label", 778, 147, [13, 15]],
-[379, "sandwichtop_no_arm_no_label", 787, 582, [33, 35]],
-[380, "sandwichtop_no_arm_no_label", 783, 289, [0, 2]],
-[381, "sandwichtop_no_arm_no_label", 788, 437, [55, 57]],
-[382, "sandwichtop_no_arm_no_label", 498, 245, [137, 139]],
-[383, "sandwichtop_no_arm_no_label", 500, 385, [148, 149]],
-[384, "sandwichtop_no_arm_no_label", 495, 527, [161, 163]],
-[385, "sandwichtop_no_arm_no_label", 1034, 152, [171, 173]],
-[386, "penup", 284, 427, [375, 306]],
-[387, "pendown", 284, 553, [306, 309]],
-[388, "penup", 290, 577, [376, 210]],
-[389, "pendown", 403, 957, [221, 224]],
-[390, "penup", 284, 931, [323, 325]],
-[391, "pendown", 284, 1057, [325, 328]]] \ No newline at end of file
+[[0, "hat", 801, 239, [null, 1, 377]],
+[1, ["string", "circle"], 859, 251, [0, null]],
+[2, "penup", 784, 303, [377, 3]],
+[3, "seth", 784, 345, [2, 4, 5]],
+[4, ["number", 270], 842, 345, [3, null]],
+[5, "forward", 784, 387, [3, 6, 7]],
+[6, ["number", 56], 854, 387, [5, null]],
+[7, "seth", 784, 429, [5, 8, 9]],
+[8, ["number", 0], 842, 429, [7, null]],
+[9, "pendown", 784, 471, [7, 10]],
+[10, ["arc", 0], 784, 513, [9, 11, 12, 333]],
+[11, ["number", 360], 842, 513, [10, null]],
+[12, ["number", 56], 842, 555, [10, null]],
+[13, "hat", 796, 97, [null, 14, 375]],
+[14, ["string", "square"], 854, 109, [13, null]],
+[15, "penup", 779, 161, [375, 16]],
+[16, "seth", 779, 203, [15, 17, 18]],
+[17, ["number", 0], 837, 203, [16, null]],
+[18, "back", 779, 245, [16, 19, 20]],
+[19, ["number", 50], 837, 245, [18, null]],
+[20, "seth", 779, 287, [18, 21, 22]],
+[21, ["number", 270], 837, 287, [20, null]],
+[22, "forward", 779, 329, [20, 23, 24]],
+[23, ["number", 50], 849, 329, [22, null]],
+[24, "seth", 779, 371, [22, 25, 26]],
+[25, ["number", 0], 837, 371, [24, null]],
+[26, "pendown", 779, 413, [24, 27]],
+[27, ["repeat", 21], 779, 455, [26, 28, 29, 347]],
+[28, ["number", 4], 837, 455, [27, null]],
+[29, "forward", 797, 497, [27, 30, 31]],
+[30, ["number", 100], 867, 497, [29, null]],
+[31, "right", 797, 539, [29, 32, null]],
+[32, ["number", 90], 855, 539, [31, null]],
+[33, "hat", 805, 532, [null, 34, 376]],
+[34, ["string", "triangle"], 863, 544, [33, null]],
+[35, "penup", 788, 596, [376, 36]],
+[36, "seth", 788, 638, [35, 37, 38]],
+[37, ["number", 270], 846, 638, [36, null]],
+[38, "forward", 788, 680, [36, 39, 40]],
+[39, ["number", 60], 858, 680, [38, null]],
+[40, "seth", 788, 722, [38, 41, 42]],
+[41, ["number", 0], 846, 722, [40, null]],
+[42, "back", 788, 764, [40, 43, 44]],
+[43, ["number", 50], 846, 764, [42, null]],
+[44, "seth", 788, 806, [42, 45, 46]],
+[45, ["number", 30], 846, 806, [44, null]],
+[46, "pendown", 788, 848, [44, 47]],
+[47, ["repeat", 21], 788, 890, [46, 48, 49, 346]],
+[48, ["number", 3], 846, 890, [47, null]],
+[49, "forward", 806, 932, [47, 50, 51]],
+[50, ["number", 120], 876, 932, [49, null]],
+[51, "right", 806, 974, [49, 52, null]],
+[52, ["number", 120], 864, 974, [51, null]],
+[53, "seth", 788, 1116, [346, 54, 345]],
+[54, ["number", 0], 846, 1116, [53, null]],
+[55, "hat", 806, 387, [null, 56, 378]],
+[56, ["string", "star"], 864, 399, [55, null]],
+[57, "penup", 789, 451, [378, 58]],
+[58, "seth", 789, 493, [57, 59, 60]],
+[59, ["number", 0], 847, 493, [58, null]],
+[60, "back", 789, 535, [58, 61, 62]],
+[61, ["number", 44], 847, 535, [60, null]],
+[62, "seth", 789, 577, [60, 63, 64]],
+[63, ["number", 270], 847, 577, [62, null]],
+[64, "forward", 789, 619, [62, 65, 66]],
+[65, ["number", 30], 859, 619, [64, null]],
+[66, "seth", 789, 661, [64, 67, 68]],
+[67, ["number", 18], 847, 661, [66, null]],
+[68, "pendown", 789, 703, [66, 69]],
+[69, ["repeat", 21], 789, 745, [68, 70, 71, 343]],
+[70, ["number", 5], 847, 745, [69, null]],
+[71, "forward", 807, 787, [69, 72, 73]],
+[72, ["number", 100], 877, 787, [71, null]],
+[73, "right", 807, 829, [71, 74, null]],
+[74, ["number", 144], 865, 829, [73, null]],
+[75, "seth", 789, 971, [343, 76, 344]],
+[76, ["number", 0], 847, 971, [75, null]],
+[77, "hat", 1043, 420, [null, 78, 367]],
+[78, ["string", "shapes"], 1101, 432, [77, null]],
+[79, "setpensize", 1026, 484, [367, 80, 353]],
+[80, ["number", 10], 1128, 484, [79, null]],
+[81, ["setxy2", 0], 1026, 568, [353, 82, 83, 354]],
+[82, ["number", -100], 1084, 568, [81, null]],
+[83, ["number", 100], 1084, 610, [81, null]],
+[84, "setcolor", 1026, 694, [354, 85, 86]],
+[85, "pop", 1103, 694, [84, null]],
+[86, "stack", 1026, 736, [84, 87, 355]],
+[87, "pop", 1084, 736, [86, null]],
+[88, ["setxy2", 0], 1026, 820, [355, 89, 90, 356]],
+[89, ["number", 100], 1084, 820, [88, null]],
+[90, ["number", 100], 1084, 862, [88, null]],
+[91, "setcolor", 1026, 946, [356, 92, 93]],
+[92, "pop", 1103, 946, [91, null]],
+[93, "stack", 1026, 988, [91, 94, 357]],
+[94, "pop", 1084, 988, [93, null]],
+[95, ["setxy2", 0], 1026, 1072, [357, 96, 97, 358]],
+[96, ["number", 100], 1084, 1072, [95, null]],
+[97, ["number", -100], 1084, 1114, [95, null]],
+[98, "setcolor", 1026, 1198, [358, 99, 100]],
+[99, "pop", 1103, 1198, [98, null]],
+[100, "stack", 1026, 1240, [98, 101, 359]],
+[101, "pop", 1084, 1240, [100, null]],
+[102, ["setxy2", 0], 1026, 1324, [359, 103, 104, 360]],
+[103, ["number", -100], 1084, 1324, [102, null]],
+[104, ["number", -100], 1084, 1366, [102, null]],
+[105, "setcolor", 1026, 1450, [360, 106, 107]],
+[106, "pop", 1103, 1450, [105, null]],
+[107, "stack", 1026, 1492, [105, 108, 361]],
+[108, "pop", 1084, 1492, [107, null]],
+[109, "hat", 1039, 263, [null, 110, 374]],
+[110, ["string", "calculate distance"], 1097, 275, [109, null]],
+[111, ["storein", 0], 1022, 327, [374, 112, 113, 352]],
+[112, ["string", "dx"], 1089, 327, [111, null]],
+[113, ["minus2", 0], 1089, 369, [111, 114, 116]],
+[114, "box", 1162, 369, [113, 115, null]],
+[115, ["string", "x"], 1216, 369, [114, null]],
+[116, "xcor", 1186, 411, [113, null]],
+[117, ["storein", 0], 1022, 453, [352, 118, 119, 351]],
+[118, ["string", "dy"], 1089, 453, [117, null]],
+[119, ["minus2", 0], 1089, 495, [117, 120, 122]],
+[120, "box", 1162, 495, [119, 121, null]],
+[121, ["string", "y"], 1216, 495, [120, null]],
+[122, "ycor", 1186, 537, [119, null]],
+[123, ["storein", 0], 1022, 579, [351, 124, 125, 332]],
+[124, ["string", "distance"], 1089, 579, [123, null]],
+[125, "sqrt", 1089, 621, [123, 126]],
+[126, ["plus2", 20.0], 1143, 621, [125, 127, 132]],
+[127, ["product2", 0], 1197, 621, [126, 128, 130]],
+[128, "box", 1251, 621, [127, 129, null]],
+[129, ["string", "dx"], 1305, 621, [128, null]],
+[130, "box", 1251, 663, [127, 131, null]],
+[131, ["string", "dx"], 1305, 663, [130, null]],
+[132, ["product2", 0], 1197, 703, [126, 133, 135]],
+[133, "box", 1251, 703, [132, 134, null]],
+[134, ["string", "dy"], 1305, 703, [133, null]],
+[135, "box", 1251, 745, [132, 136, null]],
+[136, ["string", "dy"], 1305, 745, [135, null]],
+[137, "hat", 516, 195, [null, 138, 379]],
+[138, ["string", "q1"], 574, 207, [137, null]],
+[139, ["storein", 0], 499, 259, [379, 140, 141, 142]],
+[140, ["string", "x"], 566, 259, [139, null]],
+[141, ["number", 100], 566, 301, [139, null]],
+[142, ["storein", 0], 499, 343, [139, 143, 144, 145]],
+[143, ["string", "y"], 566, 343, [142, null]],
+[144, ["number", 100], 566, 385, [142, null]],
+[145, "push", 499, 427, [142, 158, 146]],
+[146, "stack", 499, 469, [145, 147, 348]],
+[147, ["string", "ask"], 557, 469, [146, null]],
+[148, "hat", 518, 335, [null, 156, 380]],
+[149, ["storein", 0], 501, 399, [380, 150, 160, 151]],
+[150, ["string", "x"], 568, 399, [149, null]],
+[151, ["storein", 0], 501, 483, [149, 152, 159, 153]],
+[152, ["string", "y"], 568, 483, [151, null]],
+[153, "push", 501, 567, [151, 157, 154]],
+[154, "stack", 501, 609, [153, 155, 349]],
+[155, ["string", "ask"], 559, 609, [154, null]],
+[156, ["string", "q2"], 576, 347, [148, null]],
+[157, ["string", "Put the turtle in the red square."], 559, 567, [153, null]],
+[158, ["string", "Put the turtle in the blue triangle."], 557, 427, [145, null]],
+[159, ["number", 100], 568, 525, [151, null]],
+[160, ["number", -100], 568, 441, [149, null]],
+[161, "hat", 513, 477, [null, 162, 381]],
+[162, ["string", "q3"], 571, 489, [161, null]],
+[163, ["storein", 0], 496, 541, [381, 164, 183, 165]],
+[164, ["string", "x"], 563, 541, [163, null]],
+[165, ["storein", 0], 496, 625, [163, 166, 167, 168]],
+[166, ["string", "y"], 563, 625, [165, null]],
+[167, ["number", -100], 563, 667, [165, null]],
+[168, "push", 496, 709, [165, 182, 169]],
+[169, "stack", 496, 751, [168, 170, 350]],
+[170, ["string", "ask"], 554, 751, [169, null]],
+[171, "hat", 1052, 102, [null, 172, 382]],
+[172, ["string", "fini"], 1110, 114, [171, null]],
+[173, ["storein", 0], 1035, 166, [382, 176, 174, 175]],
+[174, ["number", 0], 1102, 208, [173, null]],
+[175, ["storein", 0], 1035, 250, [173, 177, 178, 179]],
+[176, ["string", "x"], 1102, 166, [173, null]],
+[177, ["string", "y"], 1102, 250, [175, null]],
+[178, ["number", 0], 1102, 292, [175, null]],
+[179, "push", 1035, 334, [175, 184, 180]],
+[180, "stack", 1035, 376, [179, 181, 342]],
+[181, ["string", "ask"], 1093, 376, [180, null]],
+[182, ["string", "Put the turtle in the red circle."], 554, 709, [168, null]],
+[183, ["number", -100], 563, 583, [163, null]],
+[184, ["string", "Well played!"], 1093, 334, [179, null]],
+[185, ["start", 2.0], 345, 201, [null, 371]],
+[186, ["storein", 0], 328, 257, [371, 187, 188, 189]],
+[187, ["string", "blue"], 395, 257, [186, null]],
+[188, ["number", 70], 395, 299, [186, null]],
+[189, ["storein", 0], 328, 341, [186, 190, 191, 192]],
+[190, ["string", "red"], 395, 341, [189, null]],
+[191, ["number", 0], 395, 383, [189, null]],
+[192, ["storein", 0], 328, 425, [189, 193, 194, 195]],
+[193, ["string", "green"], 395, 425, [192, null]],
+[194, ["number", 30], 395, 467, [192, null]],
+[195, "hideblocks", 328, 509, [192, 196]],
+[196, "stack", 328, 551, [195, 197, 198]],
+[197, ["string", "pattern a"], 386, 551, [196, null]],
+[198, "stack", 328, 593, [196, 199, 200]],
+[199, ["string", "q1"], 386, 593, [198, null]],
+[200, "stack", 328, 635, [198, 228, 201]],
+[201, "stack", 328, 677, [200, 202, 203]],
+[202, ["string", "q2"], 386, 677, [201, null]],
+[203, "stack", 328, 719, [201, 227, 204]],
+[204, "stack", 328, 761, [203, 205, 206]],
+[205, ["string", "q3"], 386, 761, [204, null]],
+[206, "stack", 328, 803, [204, 207, 340]],
+[207, ["string", "fini"], 386, 803, [206, null]],
+[208, "hat", 290, 493, [null, 209, 373]],
+[209, ["string", "answer"], 348, 505, [208, null]],
+[210, ["setxy2", 0], 273, 599, [385, 211, 212, 213]],
+[211, ["number", 0], 331, 599, [210, null]],
+[212, ["number", 0], 331, 641, [210, null]],
+[213, ["forever", 249], 273, 683, [210, 214, 334]],
+[214, "stack", 291, 717, [213, 215, 335]],
+[215, ["string", "calculate distance"], 349, 717, [214, null]],
+[216, ["if", 63], 291, 801, [335, 217, 221, 336]],
+[217, ["less2", 0], 347, 767, [216, 218, 220, null]],
+[218, "box", 403, 767, [217, 219, null]],
+[219, ["string", "distance"], 457, 767, [218, null]],
+[220, ["number", 100], 427, 809, [217, null]],
+[221, ["setxy2", 0], 309, 867, [216, 222, 223, 386]],
+[222, ["number", 0], 367, 867, [221, null]],
+[223, ["number", 0], 367, 909, [221, null]],
+[224, "stopstack", 309, 993, [386, null]],
+[225, "wait", 291, 1215, [336, 226, null]],
+[226, ["number", 1], 349, 1215, [225, null]],
+[227, ["string", "pattern c"], 386, 719, [203, null]],
+[228, ["string", "pattern b"], 386, 635, [200, null]],
+[229, "hat", 1313, 430, [null, 230, 370]],
+[230, ["string", "pattern a"], 1371, 442, [229, null]],
+[231, "clean", 1296, 494, [370, 232]],
+[232, "push", 1296, 536, [231, 233, 234]],
+[233, ["string", "square"], 1354, 536, [232, null]],
+[234, "push", 1296, 578, [232, 235, 237]],
+[235, "box", 1354, 578, [234, 236, null]],
+[236, ["string", "blue"], 1408, 578, [235, null]],
+[237, "push", 1296, 620, [234, 238, 239]],
+[238, ["string", "circle"], 1354, 620, [237, null]],
+[239, "push", 1296, 662, [237, 240, 242]],
+[240, "box", 1354, 662, [239, 241, null]],
+[241, ["string", "green"], 1408, 662, [240, null]],
+[242, "push", 1296, 704, [239, 243, 244]],
+[243, ["string", "triangle"], 1354, 704, [242, null]],
+[244, "push", 1296, 746, [242, 245, 247]],
+[245, "box", 1354, 746, [244, 246, null]],
+[246, ["string", "blue"], 1408, 746, [245, null]],
+[247, "push", 1296, 788, [244, 248, 249]],
+[248, ["string", "square"], 1354, 788, [247, null]],
+[249, "push", 1296, 830, [247, 250, 252]],
+[250, "box", 1354, 830, [249, 251, null]],
+[251, ["string", "red"], 1408, 830, [250, null]],
+[252, "stack", 1296, 872, [249, 253, 339]],
+[253, ["string", "shapes"], 1354, 872, [252, null]],
+[254, "hat", 1306, 268, [null, 255, 369]],
+[255, ["string", "pattern b"], 1364, 280, [254, null]],
+[256, "clean", 1289, 332, [369, 257]],
+[257, "push", 1289, 374, [256, 258, 259]],
+[258, ["string", "triangle"], 1347, 374, [257, null]],
+[259, "push", 1289, 416, [257, 260, 262]],
+[260, "box", 1347, 416, [259, 261, null]],
+[261, ["string", "red"], 1401, 416, [260, null]],
+[262, "push", 1289, 458, [259, 263, 264]],
+[263, ["string", "circle"], 1347, 458, [262, null]],
+[264, "push", 1289, 500, [262, 265, 267]],
+[265, "box", 1347, 500, [264, 266, null]],
+[266, ["string", "green"], 1401, 500, [265, null]],
+[267, "push", 1289, 542, [264, 268, 269]],
+[268, ["string", "square"], 1347, 542, [267, null]],
+[269, "push", 1289, 584, [267, 270, 272]],
+[270, "box", 1347, 584, [269, 271, null]],
+[271, ["string", "green"], 1401, 584, [270, null]],
+[272, "push", 1289, 626, [269, 273, 274]],
+[273, ["string", "square"], 1347, 626, [272, null]],
+[274, "push", 1289, 668, [272, 275, 277]],
+[275, "box", 1347, 668, [274, 276, null]],
+[276, ["string", "red"], 1401, 668, [275, null]],
+[277, "stack", 1289, 710, [274, 278, 338]],
+[278, ["string", "shapes"], 1347, 710, [277, null]],
+[279, "hat", 1296, 108, [null, 280, 368]],
+[280, ["string", "pattern c"], 1354, 120, [279, null]],
+[281, "clean", 1279, 172, [368, 282]],
+[282, "push", 1279, 214, [281, 283, 284]],
+[283, ["string", "circle"], 1337, 214, [282, null]],
+[284, "push", 1279, 256, [282, 285, 287]],
+[285, "box", 1337, 256, [284, 286, null]],
+[286, ["string", "red"], 1391, 256, [285, null]],
+[287, "push", 1279, 298, [284, 288, 289]],
+[288, ["string", "circle"], 1337, 298, [287, null]],
+[289, "push", 1279, 340, [287, 290, 292]],
+[290, "box", 1337, 340, [289, 291, null]],
+[291, ["string", "green"], 1391, 340, [290, null]],
+[292, "push", 1279, 382, [289, 293, 294]],
+[293, ["string", "square"], 1337, 382, [292, null]],
+[294, "push", 1279, 424, [292, 295, 297]],
+[295, "box", 1337, 424, [294, 296, null]],
+[296, ["string", "blue"], 1391, 424, [295, null]],
+[297, "push", 1279, 466, [294, 298, 299]],
+[298, ["string", "triangle"], 1337, 466, [297, null]],
+[299, "push", 1279, 508, [297, 300, 302]],
+[300, "box", 1337, 508, [299, 301, null]],
+[301, ["string", "red"], 1391, 508, [300, null]],
+[302, "stack", 1279, 550, [299, 303, 337]],
+[303, ["string", "shapes"], 1337, 550, [302, null]],
+[304, "hat", 39, 293, [null, 305, 372]],
+[305, ["string", "ask"], 97, 305, [304, null]],
+[306, ["setxy2", 0], 57, 423, [383, 307, 308, 384]],
+[307, ["number", -300], 115, 423, [306, null]],
+[308, ["number", 300], 115, 465, [306, null]],
+[309, "seth", 57, 549, [384, 310, 311]],
+[310, ["number", 90], 115, 549, [309, null]],
+[311, "setcolor", 57, 591, [309, 312, 313]],
+[312, ["number", 0], 134, 591, [311, null]],
+[313, "setshade", 57, 633, [311, 314, 315]],
+[314, ["number", 100], 142, 633, [313, null]],
+[315, "setpensize", 57, 675, [313, 316, 317]],
+[316, ["number", 120], 159, 675, [315, null]],
+[317, "forward", 57, 717, [315, 318, 319]],
+[318, ["number", 700], 127, 717, [317, null]],
+[319, "back", 57, 759, [317, 320, 321]],
+[320, ["number", 700], 115, 759, [319, null]],
+[321, "setshade", 57, 801, [319, 322, 323]],
+[322, ["number", 50], 142, 801, [321, null]],
+[323, "seth", 57, 843, [321, 324, 387]],
+[324, ["number", 0], 115, 843, [323, null]],
+[325, ["setxy2", 0], 57, 927, [387, 326, 327, 388]],
+[326, ["number", -300], 115, 927, [325, null]],
+[327, ["number", 300], 115, 969, [325, null]],
+[328, "show", 57, 1095, [389, 329, 330]],
+[329, "pop", 115, 1095, [328, null]],
+[330, "stack", 57, 1137, [328, 331, null]],
+[331, ["string", "answer"], 115, 1137, [330, null]],
+[332, ["vspace", 1], 1022, 663, [123, null]],
+[333, ["vspace", 1], 784, 597, [10, null]],
+[334, ["vspace", 1], 273, 1275, [213, null]],
+[335, ["vspace", 0], 291, 759, [214, 216]],
+[336, ["vspace", 60.0], 291, 1053, [216, 225]],
+[337, ["vspace", 1], 1279, 592, [302, null]],
+[338, ["vspace", 1], 1289, 752, [277, null]],
+[339, ["vspace", 1], 1296, 914, [252, null]],
+[340, "showblocks", 328, 845, [206, 341]],
+[341, ["vspace", 1], 328, 887, [340, null]],
+[342, ["vspace", 1], 1035, 418, [180, null]],
+[343, ["vspace", 20.0], 789, 889, [69, 75]],
+[344, ["vspace", 1], 789, 1013, [75, null]],
+[345, ["vspace", 1], 788, 1158, [53, null]],
+[346, ["vspace", 20.0], 788, 1034, [47, 53]],
+[347, ["vspace", 1], 779, 599, [27, null]],
+[348, ["vspace", 1], 499, 511, [146, null]],
+[349, ["vspace", 1], 501, 651, [154, null]],
+[350, ["vspace", 1], 496, 793, [169, null]],
+[351, ["vspace", 0], 1022, 537, [117, 123]],
+[352, ["vspace", 0], 1022, 411, [111, 117]],
+[353, "penup", 1026, 526, [79, 81]],
+[354, "pendown", 1026, 652, [81, 84]],
+[355, "penup", 1026, 778, [86, 88]],
+[356, "pendown", 1026, 904, [88, 91]],
+[357, "penup", 1026, 1030, [93, 95]],
+[358, "pendown", 1026, 1156, [95, 98]],
+[359, "penup", 1026, 1282, [100, 102]],
+[360, "pendown", 1026, 1408, [102, 105]],
+[361, "penup", 1026, 1534, [107, 363]],
+[362, "pendown", 1026, 1660, [363, 366]],
+[363, ["setxy2", 0], 1026, 1576, [361, 364, 365, 362]],
+[364, ["number", 0], 1084, 1576, [363, null]],
+[365, ["number", 0], 1084, 1618, [363, null]],
+[366, ["vspace", 1], 1026, 1702, [362, null]],
+[367, "sandwichclampcollapsed", 1043, 474, [77, 79, null]],
+[368, "sandwichclampcollapsed", 1296, 162, [279, 281, null]],
+[369, "sandwichclampcollapsed", 1306, 322, [254, 256, null]],
+[370, "sandwichclampcollapsed", 1313, 484, [229, 231, null]],
+[371, "sandwichclampcollapsed", 345, 247, [185, 186, null]],
+[372, "sandwichclampcollapsed", 39, 347, [304, 383, null]],
+[373, "sandwichclampcollapsed", 290, 547, [208, 385, null]],
+[374, "sandwichclampcollapsed", 1039, 317, [109, 111, null]],
+[375, "sandwichclampcollapsed", 796, 151, [13, 15, null]],
+[376, "sandwichclampcollapsed", 805, 586, [33, 35, null]],
+[377, "sandwichclampcollapsed", 801, 293, [0, 2, null]],
+[378, "sandwichclampcollapsed", 806, 441, [55, 57, null]],
+[379, "sandwichclampcollapsed", 516, 249, [137, 139, null]],
+[380, "sandwichclampcollapsed", 518, 389, [148, 149, null]],
+[381, "sandwichclampcollapsed", 513, 531, [161, 163, null]],
+[382, "sandwichclampcollapsed", 1052, 156, [171, 173, null]],
+[383, "penup", 57, 381, [372, 306]],
+[384, "pendown", 57, 507, [306, 309]],
+[385, "penup", 273, 557, [373, 210]],
+[386, "pendown", 309, 951, [221, 224]],
+[387, "penup", 57, 885, [323, 325]],
+[388, "pendown", 57, 1011, [325, 389]],
+[389, "setscale", 57, 1053, [388, 390, 328]],
+[390, ["number", 50.0], 134, 1053, [389, null]]]
diff --git a/samples/game-spiralaterals.ta b/samples/game-spiralaterals.ta
index d8b95fd..26c116e 100644
--- a/samples/game-spiralaterals.ta
+++ b/samples/game-spiralaterals.ta
@@ -1,64 +1,68 @@
-[[0, ["start", 2.0], 60, 200, [null, 60]],
-[1, "forward", 700, 274, [40, 6, 7]],
-[2, "right", 700, 358, [7, 3, null]],
-[3, ["number", 90], 758, 358, [2, null]],
-[4, ["number", 20.0], 128, 288, [60, null]],
-[5, "pop", 825, 316, [6, null]],
-[6, ["product2", 0], 771, 274, [1, 62, 5]],
-[7, ["vspace", 0], 700, 316, [1, 2]],
-[8, "push", 440, 254, [36, 9, 42]],
-[9, ["number", 1], 498, 254, [8, null]],
-[10, ["repeat", 0], 78, 832, [12, 11, 38, null]],
-[11, ["number", 4], 137, 832, [10, null]],
-[12, ["vspace", 0], 78, 790, [23, 10]],
-[13, ["repeat", 218], 60, 414, [33, 14, 28, null]],
-[14, ["number", 400], 119, 414, [13, null]],
-[15, ["vspace", 0], 78, 664, [16, 32]],
-[16, ["setxy2", 20], 78, 540, [27, 17, 18, 15]],
-[17, ["random", 0], 136, 540, [16, 19, 21, null]],
-[18, ["random", 0], 136, 622, [16, 20, 22, null]],
-[19, "leftpos", 222, 540, [17, null]],
-[20, "bottompos", 222, 622, [18, null]],
-[21, "rightpos", 222, 582, [17, null]],
-[22, "toppos", 222, 664, [18, null]],
-[23, "setcolor", 78, 748, [32, 24, 12]],
-[24, ["random", 0], 155, 748, [23, 25, 26, null]],
-[25, ["number", 0], 241, 748, [24, null]],
-[26, ["number", 100], 241, 790, [24, null]],
-[27, "penup", 78, 498, [28, 16]],
-[28, "seth", 78, 456, [13, 29, 27]],
-[29, ["random", 0], 136, 456, [28, 30, 31, null]],
-[30, ["number", 0], 222, 456, [29, null]],
-[31, ["number", 90], 222, 498, [29, null]],
-[32, "pendown", 78, 706, [15, 23]],
-[33, ["fillscreen", 0], 60, 330, [60, 34, 35, 13]],
-[34, "black", 142, 330, [33, null]],
-[35, ["number", 0], 142, 372, [33, null]],
-[36, "hat", 440, 200, [null, 37, 8]],
-[37, ["string", "action"], 498, 212, [36, null]],
-[38, "stack", 96, 874, [10, 39, null]],
-[39, ["string", "action"], 154, 874, [38, null]],
-[40, "hat", 700, 220, [null, 41, 1]],
-[41, ["string", "action 2"], 758, 232, [40, null]],
-[42, "stack", 440, 296, [8, 43, 44]],
-[43, ["string", "action 2"], 498, 296, [42, null]],
-[44, "push", 440, 338, [42, 45, 46]],
-[45, ["number", 1], 498, 338, [44, null]],
-[46, "stack", 440, 380, [44, 47, 48]],
-[47, ["string", "action 2"], 498, 380, [46, null]],
-[48, "push", 440, 422, [46, 49, 50]],
-[49, ["number", 1], 498, 422, [48, null]],
-[50, "stack", 440, 464, [48, 51, 52]],
-[51, ["string", "action 2"], 498, 464, [50, null]],
-[52, "push", 440, 506, [50, 53, 54]],
-[53, ["number", 3.0], 498, 506, [52, null]],
-[54, "stack", 440, 548, [52, 55, 56]],
-[55, ["string", "action 2"], 498, 548, [54, null]],
-[56, "push", 440, 590, [54, 57, 58]],
-[57, ["number", 2.0], 498, 590, [56, null]],
-[58, "stack", 440, 632, [56, 59, null]],
-[59, ["string", "action 2"], 498, 632, [58, null]],
-[60, ["storein", 0], 60, 246, [0, 61, 4, 33]],
-[61, ["string", "my box"], 128, 246, [60, null]],
-[62, "box", 825, 274, [6, 63, null]],
-[63, ["string", "my box"], 880, 274, [62, null]]]
+[[0, ["start", 2.0], 400, 80, [null, 59]],
+[1, "forward", 400, 454, [39, 6, 7]],
+[2, "right", 400, 538, [7, 3, null]],
+[3, ["number", 90], 458, 538, [2, null]],
+[4, ["number", 20], 468, 168, [59, null]],
+[5, "pop", 525, 496, [6, null]],
+[6, ["product2", 0], 471, 454, [1, 61, 5]],
+[7, ["vspace", 0], 400, 496, [1, 2]],
+[8, "push", 720, 134, [35, 9, 41]],
+[9, ["number", 1], 778, 134, [8, null]],
+[10, ["repeat", 0], 940, 510, [12, 11, 37, null]],
+[11, ["number", 4], 999, 510, [10, null]],
+[12, ["vspace", 0], 940, 468, [23, 10]],
+[13, ["repeat", 0], 400, 294, [33, 14, 66, null]],
+[14, ["number", 100.0], 459, 294, [13, null]],
+[15, ["vspace", 0], 940, 342, [16, 32]],
+[16, ["setxy2", 20], 940, 218, [27, 17, 18, 15]],
+[17, ["random", 0], 998, 218, [16, 19, 21, null]],
+[18, ["random", 0], 998, 300, [16, 20, 22, null]],
+[19, "leftpos", 1084, 218, [17, null]],
+[20, "bottompos", 1084, 300, [18, null]],
+[21, "rightpos", 1084, 260, [17, null]],
+[22, "toppos", 1084, 342, [18, null]],
+[23, "setcolor", 940, 426, [32, 24, 12]],
+[24, ["random", 0], 1017, 426, [23, 25, 26, null]],
+[25, ["number", 0], 1103, 426, [24, null]],
+[26, ["number", 100], 1103, 468, [24, null]],
+[27, "penup", 940, 176, [28, 16]],
+[28, "seth", 940, 134, [64, 29, 27]],
+[29, ["random", 0], 1039, 134, [28, 30, 31, null]],
+[30, ["number", 0], 1125, 134, [29, null]],
+[31, ["number", 90], 1125, 176, [29, null]],
+[32, "pendown", 940, 384, [15, 23]],
+[33, ["fillscreen", 0], 400, 210, [59, 34, 63, 13]],
+[34, ["number", 0], 482, 210, [33, null]],
+[35, "hat", 720, 80, [null, 36, 8]],
+[36, ["string", "line"], 778, 92, [35, null]],
+[37, "stack", 958, 552, [10, 38, null]],
+[38, ["string", "line"], 1016, 552, [37, null]],
+[39, "hat", 400, 400, [null, 40, 1]],
+[40, ["string", "segment"], 458, 412, [39, null]],
+[41, "stack", 720, 176, [8, 42, 43]],
+[42, ["string", "segment"], 778, 176, [41, null]],
+[43, "push", 720, 218, [41, 44, 45]],
+[44, ["number", 1], 778, 218, [43, null]],
+[45, "stack", 720, 260, [43, 46, 47]],
+[46, ["string", "segment"], 778, 260, [45, null]],
+[47, "push", 720, 302, [45, 48, 49]],
+[48, ["number", 1], 778, 302, [47, null]],
+[49, "stack", 720, 344, [47, 50, 51]],
+[50, ["string", "segment"], 778, 344, [49, null]],
+[51, "push", 720, 386, [49, 52, 53]],
+[52, ["number", 3], 778, 386, [51, null]],
+[53, "stack", 720, 428, [51, 54, 55]],
+[54, ["string", "segment"], 778, 428, [53, null]],
+[55, "push", 720, 470, [53, 56, 57]],
+[56, ["number", 2], 778, 470, [55, null]],
+[57, "stack", 720, 512, [55, 58, null]],
+[58, ["string", "segment"], 778, 512, [57, null]],
+[59, ["storein", 0], 400, 126, [0, 60, 4, 33]],
+[60, ["string", "my box"], 468, 126, [59, null]],
+[61, "box", 525, 454, [6, 62, null]],
+[62, ["string", "my box"], 580, 454, [61, null]],
+[63, "white", 482, 252, [33, null]],
+[64, "hat", 940, 80, [null, 65, 28]],
+[65, ["string", "spiralateral"], 998, 92, [64, null]],
+[66, "stack", 418, 336, [13, 67, null]],
+[67, ["string", "spiralateral"], 476, 336, [66, null]]]
diff --git a/samples/graphics-bbq.tb b/samples/graphics-bbq.tb
new file mode 100644
index 0000000..08083d1
--- /dev/null
+++ b/samples/graphics-bbq.tb
@@ -0,0 +1,89 @@
+[[0, ["start", 2.0], 1098, 59, [null, 1]],
+[1, "clean", 1098, 105, [0, 2]],
+[2, ["setxy2", 20], 1098, 147, [1, 86, 3, 4]],
+[3, ["number", 290.0], 1156, 229, [2, null]],
+[4, "right", 1098, 271, [2, 5, 8]],
+[5, ["number", 45.0], 1156, 271, [4, null]],
+[6, "hat", 422, 116, [null, 7, 35]],
+[7, ["string", "horizontal"], 480, 128, [6, null]],
+[8, "stack", 1098, 313, [4, 9, 78]],
+[9, ["string", "horizontal"], 1156, 313, [8, null]],
+[10, ["setxy2", 0], 1098, 397, [78, 85, 69, 79]],
+[11, "seth", 1098, 523, [79, 12, 15]],
+[12, ["number", 0], 1197, 523, [11, null]],
+[13, "hat", 423, 392, [null, 14, 29]],
+[14, ["string", "vertical"], 481, 404, [13, null]],
+[15, "stack", 1098, 565, [11, 16, 80]],
+[16, ["string", "vertical"], 1156, 565, [15, null]],
+[17, ["setxy2", 20], 1098, 649, [80, 83, 18, 23]],
+[18, ["number", 80.0], 1156, 731, [17, null]],
+[19, "stack", 1098, 857, [81, 20, 21]],
+[20, ["string", "vertical"], 1156, 857, [19, null]],
+[21, "stack", 1098, 899, [19, 22, null]],
+[22, ["string", "vertical"], 1156, 899, [21, null]],
+[23, "right", 1098, 773, [17, 24, 81]],
+[24, ["number", 135.0], 1156, 773, [23, null]],
+[25, "hat", 756, 86, [null, 26, 43]],
+[26, ["string", "action"], 814, 98, [25, null]],
+[27, "stack", 441, 530, [73, 28, 38]],
+[28, ["string", "action"], 499, 530, [27, null]],
+[29, ["repeat", 83], 423, 446, [13, 71, 73, null]],
+[30, ["setxy2", 0], 440, 296, [36, 31, 33, null]],
+[31, "xcor", 498, 296, [30, null]],
+[32, "ycor", 571, 338, [33, null]],
+[33, ["minus2", 0], 498, 338, [30, 32, 34]],
+[34, "pensize", 595, 380, [33, null]],
+[35, ["repeat", 63], 422, 170, [6, 75, 77, null]],
+[36, "stack", 440, 254, [77, 37, 30]],
+[37, ["string", "action"], 498, 254, [36, null]],
+[38, ["setxy2", 20], 441, 572, [27, 42, 39, null]],
+[39, "ycor", 499, 654, [38, null]],
+[40, "xcor", 553, 572, [42, null]],
+[41, "pensize", 553, 614, [42, null]],
+[42, ["plus2", 0], 499, 572, [38, 40, 41]],
+[43, "setpensize", 756, 140, [25, 44, 45]],
+[44, ["number", 7.0], 858, 140, [43, null]],
+[45, "setcolor", 756, 182, [43, 46, 47]],
+[46, ["number", 70.0], 833, 182, [45, null]],
+[47, "setshade", 756, 224, [45, 48, 51]],
+[48, ["number", 0.0], 841, 224, [47, null]],
+[49, "setshade", 756, 350, [53, 50, 55]],
+[50, ["number", 50], 841, 350, [49, null]],
+[51, "forward", 756, 266, [47, 52, 53]],
+[52, ["number", 1700.0], 827, 266, [51, null]],
+[53, "back", 756, 308, [51, 54, 49]],
+[54, ["number", 1700.0], 814, 308, [53, null]],
+[55, "setpensize", 756, 392, [49, 56, 59]],
+[56, ["random", 0], 858, 392, [55, 57, 58, null]],
+[57, ["number", 3.0], 944, 392, [56, null]],
+[58, ["number", 10.0], 944, 434, [56, null]],
+[59, ["vspace", 0], 756, 434, [55, 63]],
+[60, ["random", 0], 833, 476, [63, 61, 62, null]],
+[61, ["number", 0], 919, 476, [60, null]],
+[62, ["number", 20.0], 919, 518, [60, null]],
+[63, "setcolor", 756, 476, [59, 60, 64]],
+[64, ["vspace", 0], 756, 518, [63, 65]],
+[65, "forward", 756, 560, [64, 66, 67]],
+[66, ["number", 1700.0], 827, 560, [65, null]],
+[67, "back", 756, 602, [65, 68, null]],
+[68, ["number", 1700.0], 814, 602, [67, null]],
+[69, "bottompos", 1156, 439, [10, null]],
+[70, "width", 552, 446, [71, null]],
+[71, ["division2", 0], 482, 446, [29, 70, 72]],
+[72, ["number", 15.0], 576, 488, [71, null]],
+[73, ["vspace", 0], 441, 488, [29, 27]],
+[74, "width", 551, 170, [75, null]],
+[75, ["division2", 0], 481, 170, [35, 74, 76]],
+[76, ["number", 6.0], 575, 212, [75, null]],
+[77, ["vspace", 0], 440, 212, [35, 36]],
+[78, "penup", 1098, 355, [8, 10]],
+[79, "pendown", 1098, 481, [10, 11]],
+[80, "penup", 1098, 607, [15, 17]],
+[81, "pendown", 1098, 815, [23, 19]],
+[82, "leftpos", 1226, 649, [83, null]],
+[83, ["division2", 0], 1156, 649, [17, 82, 84]],
+[84, ["number", 3.0], 1250, 691, [83, null]],
+[85, "leftpos", 1156, 397, [10, null]],
+[86, ["division2", 0], 1156, 147, [2, 88, 87]],
+[87, ["number", 2.0], 1250, 189, [86, null]],
+[88, "leftpos", 1226, 147, [86, null]]]
diff --git a/samples/graphics-bubbles.ta b/samples/graphics-bubbles.ta
index 0d3c680..37002c1 100644
--- a/samples/graphics-bubbles.ta
+++ b/samples/graphics-bubbles.ta
@@ -1,36 +1,40 @@
-[[0, "setcolor", 159, 215, [11, 1, 2]],
-[1, ["number", 60], 240, 215, [0, null]],
-[2, "repeat", 159, 257, [0, 3, 23, null]],
-[3, ["number", 5000], 210, 257, [2, null]],
-[4, ["setxy2", 20.0], 224, 359, [23, 5, 6, 20]],
-[5, ["random", 0], 285, 359, [4, 32, 33, null]],
-[6, ["random", 0], 285, 441, [4, 34, 35, null]],
-[7, "setpensize", 224, 693, [31, 18, 21]],
-[8, "setshade", 224, 777, [21, 16, 22]],
-[9, "forward", 224, 861, [22, 10, null]],
-[10, ["number", 1], 298, 861, [9, null]],
-[11, "clean", 159, 173, [12, 0]],
-[12, ["start", 2.0], 159, 131, [null, 11]],
-[13, ["plus2", 0], 319, 609, [30, 14, 15]],
-[14, "ycor", 373, 609, [13, null]],
-[15, ["number", 900], 373, 651, [13, null]],
-[16, ["division2", 0], 302, 777, [8, 28, 17]],
-[17, ["number", 12], 380, 819, [16, null]],
-[18, ["division2", 0], 325, 693, [7, 26, 19]],
-[19, ["number", 9], 403, 735, [18, null]],
-[20, ["vspace", 0], 224, 483, [4, 24]],
-[21, ["vspace", 0], 224, 735, [7, 8]],
-[22, ["vspace", 0], 224, 819, [8, 9]],
-[23, "penup", 224, 317, [2, 4]],
-[24, "pendown", 224, 525, [20, 30]],
-[25, ["string", "my box"], 319, 567, [30, null]],
-[26, "box", 379, 693, [18, 27, null]],
-[27, ["string", "my box"], 434, 693, [26, null]],
-[28, "box", 356, 777, [16, 29, null]],
-[29, ["string", "my box"], 411, 777, [28, null]],
-[30, ["storein", 0], 224, 567, [24, 25, 13, 31]],
-[31, ["vspace", 0], 224, 651, [30, 7]],
-[32, ["number", -600.0], 344, 359, [5, null]],
-[33, ["number", 600.0], 344, 401, [5, null]],
-[34, ["number", -450.0], 344, 441, [6, null]],
-[35, ["number", 450.0], 344, 483, [6, null]]]
+[[0, "setcolor", 560, 168, [11, 1, 2]],
+[1, ["number", 60], 637, 168, [0, null]],
+[2, ["repeat", 168], 560, 210, [0, 3, 38, null]],
+[3, ["number", 5000], 619, 210, [2, null]],
+[4, ["setxy2", 20.0], 848, 176, [23, 5, 6, 20]],
+[5, ["random", 0], 906, 176, [4, 32, 33, null]],
+[6, ["random", 0], 906, 258, [4, 34, 35, null]],
+[7, "setpensize", 578, 420, [31, 18, 21]],
+[8, "setshade", 578, 504, [21, 16, 22]],
+[9, "forward", 578, 588, [22, 10, null]],
+[10, ["number", 1], 649, 588, [9, null]],
+[11, "clean", 560, 126, [12, 0]],
+[12, ["start", 2.0], 560, 80, [null, 11]],
+[13, ["plus2", 0], 646, 336, [30, 14, 15]],
+[14, "ycor", 700, 336, [13, null]],
+[15, ["number", 900], 700, 378, [13, null]],
+[16, ["division2", 0], 663, 504, [8, 28, 17]],
+[17, ["number", 12], 757, 546, [16, null]],
+[18, ["division2", 0], 680, 420, [7, 26, 19]],
+[19, ["number", 9], 774, 462, [18, null]],
+[20, ["vspace", 0], 848, 300, [4, 24]],
+[21, ["vspace", 0], 578, 462, [7, 8]],
+[22, ["vspace", 0], 578, 546, [8, 9]],
+[23, "penup", 848, 134, [36, 4]],
+[24, "pendown", 848, 342, [20, null]],
+[25, ["string", "my box"], 646, 294, [30, null]],
+[26, "box", 750, 420, [18, 27, null]],
+[27, ["string", "my box"], 805, 420, [26, null]],
+[28, "box", 733, 504, [16, 29, null]],
+[29, ["string", "my box"], 788, 504, [28, null]],
+[30, ["storein", 0], 578, 294, [38, 25, 13, 31]],
+[31, ["vspace", 0], 578, 378, [30, 7]],
+[32, ["number", -600], 992, 176, [5, null]],
+[33, ["number", 600], 992, 218, [5, null]],
+[34, ["number", -450], 992, 258, [6, null]],
+[35, ["number", 450], 992, 300, [6, null]],
+[36, "hat", 848, 80, [null, 37, 23]],
+[37, ["string", "random xy"], 906, 92, [36, null]],
+[38, "stack", 578, 252, [2, 39, 30]],
+[39, ["string", "random xy"], 636, 252, [38, null]]]
diff --git a/samples/graphics-city.ta b/samples/graphics-city.ta
index e501e16..a211e77 100644
--- a/samples/graphics-city.ta
+++ b/samples/graphics-city.ta
@@ -1,149 +1,145 @@
-[[0, ["start", 2.0], 401, 0, [null, 65]],
-[1, "forward", 784, 194, [4, 143, 2]],
-[2, "right", 784, 236, [1, 3, null]],
-[3, ["number", 90], 842, 236, [2, null]],
-[4, "repeat", 719, 134, [7, 5, 1, 8]],
-[5, ["number", 4], 770, 134, [4, null]],
-[6, ["vspace", 0], 719, 254, [8, 15]],
-[7, "startfill", 719, 92, [19, 4]],
-[8, "stopfill", 719, 212, [4, 6]],
-[9, "repeat", 719, 380, [11, 10, 12, 42]],
-[10, ["number", 4], 770, 380, [9, null]],
-[11, ["vspace", 0], 719, 338, [15, 9]],
-[12, "forward", 784, 440, [9, 145, 13]],
-[13, "right", 784, 482, [12, 14, null]],
-[14, ["number", 90], 842, 482, [13, null]],
-[15, "setshade", 719, 296, [6, 18, 11]],
-[16, ["number", 50], 858, 338, [18, null]],
-[17, "shade", 858, 296, [18, null]],
-[18, ["plus2", 0], 804, 296, [15, 17, 16]],
-[19, "seth", 719, 50, [141, 20, 7]],
-[20, ["number", 45], 777, 50, [19, null]],
-[21, "seth", 57, 191, [131, 22, 125]],
-[22, ["number", 180], 115, 191, [21, null]],
-[23, "ycor", 179, 275, [25, null]],
-[24, "bottompos", 203, 317, [25, null]],
-[25, ["minus2", 0], 125, 275, [125, 23, 24]],
-[26, "forward", 122, 419, [31, 133, 34]],
-[27, "forward", 122, 503, [34, 67, 30]],
-[28, ["number", 2], 301, 545, [29, null]],
-[29, "sqrt", 247, 545, [67, 28]],
-[30, ["vspace", 0], 122, 545, [27, 36]],
-[31, "repeat", 57, 359, [43, 32, 26, 44]],
-[32, ["number", 2], 108, 359, [31, null]],
-[33, ["vspace", 60], 57, 479, [44, 56]],
-[34, "left", 122, 461, [26, 35, 27]],
-[35, ["number", 90], 180, 461, [34, null]],
-[36, "left", 122, 587, [30, 37, null]],
-[37, ["number", 90], 180, 587, [36, null]],
-[38, "setshade", 719, 750, [78, 41, null]],
-[39, ["number", 50], 882, 792, [41, null]],
-[40, "shade", 858, 750, [41, null]],
-[41, ["minus2", 0], 804, 750, [38, 40, 39]],
-[42, ["vspace", 20], 719, 458, [9, 69]],
-[43, "startfill", 57, 317, [125, 31]],
-[44, "stopfill", 57, 437, [31, 33]],
-[45, "repeat", 57, 725, [63, 46, 47, 64]],
-[46, ["number", 2], 108, 725, [45, null]],
-[47, "forward", 122, 785, [45, 137, 48]],
-[48, "left", 122, 827, [47, 49, 50]],
-[49, ["number", 90], 180, 827, [48, null]],
-[50, "forward", 122, 869, [48, 68, 53]],
-[51, "sqrt", 247, 911, [68, 52]],
-[52, ["number", 2], 301, 911, [51, null]],
-[53, ["vspace", 0], 122, 911, [50, 54]],
-[54, "left", 122, 953, [53, 55, null]],
-[55, ["number", 90], 180, 953, [54, null]],
-[56, "setshade", 57, 641, [33, 62, 63]],
-[57, ["number", 50], 196, 683, [62, null]],
-[58, "shade", 196, 641, [62, null]],
-[59, "setshade", 57, 1005, [64, 66, null]],
-[60, ["number", 50], 220, 1047, [66, null]],
-[61, "shade", 196, 1005, [66, null]],
-[62, ["plus2", 0], 142, 641, [56, 58, 57]],
-[63, ["vspace", 0], 57, 683, [56, 45]],
-[64, ["vspace", 80], 57, 803, [45, 59]],
-[65, "clean", 401, 42, [0, 79]],
-[66, ["minus2", 0], 142, 1005, [59, 61, 60]],
-[67, ["product2", 0], 193, 503, [27, 135, 29]],
-[68, ["product2", 0], 193, 869, [50, 139, 51]],
-[69, "seth", 719, 540, [42, 70, 71]],
-[70, ["number", 135], 777, 540, [69, null]],
-[71, "forward", 719, 582, [69, 147, 72]],
-[72, "seth", 719, 624, [71, 73, 77]],
-[73, ["number", 180], 777, 624, [72, null]],
-[74, "ycor", 844, 666, [75, null]],
-[75, ["minus2", 0], 790, 666, [77, 74, 76]],
-[76, "bottompos", 868, 708, [75, null]],
-[77, "forward", 719, 666, [72, 75, 78]],
-[78, ["vspace", 0], 719, 708, [77, 38]],
-[79, ["fillscreen", 0], 401, 84, [65, 80, 120, 123]],
-[80, ["number", 60], 483, 84, [79, null]],
-[81, ["random", 0], 469, 210, [123, 82, 83, null]],
-[82, ["number", 75], 555, 210, [81, null]],
-[83, ["number", 125], 555, 252, [81, null]],
-[84, "repeat", 401, 420, [99, 85, 118, null]],
-[85, ["number", 100], 452, 420, [84, null]],
-[86, ["setxy2", 40], 466, 690, [91, 87, 97, 92]],
-[87, ["random", 20], 524, 690, [86, 121, 89, null]],
-[88, "leftpos", 664, 690, [121, null]],
-[89, "rightpos", 610, 772, [87, null]],
-[90, "toppos", 523, 336, [96, null]],
-[91, "penup", 466, 648, [114, 86]],
-[92, "pendown", 466, 854, [86, 127]],
-[93, ["storein", 0], 401, 294, [106, 94, 96, 99]],
-[94, ["string", "top"], 469, 294, [93, null]],
-[95, ["number", 100], 547, 378, [96, null]],
-[96, ["minus2", 0], 469, 336, [93, 90, 95]],
-[97, "box", 524, 812, [86, 98, null]],
-[98, ["string", "top"], 579, 812, [97, null]],
-[99, ["vspace", 0], 401, 378, [93, 84]],
-[100, ["storein", 0], 466, 980, [129, 101, 105, null]],
-[101, ["string", "top"], 534, 980, [100, null]],
-[102, ["number", 3], 612, 1064, [105, null]],
-[103, "box", 588, 1022, [105, 104, null]],
-[104, ["string", "top"], 643, 1022, [103, null]],
-[105, ["minus2", 0], 534, 1022, [100, 103, 102]],
-[106, ["vspace", 0], 401, 252, [123, 93]],
-[107, "setshade", 466, 564, [119, 113, 114]],
-[108, ["number", 8], 629, 646, [113, null]],
-[109, "box", 683, 606, [112, 110, null]],
-[110, ["string", "top"], 738, 606, [109, null]],
-[111, "toppos", 659, 564, [112, null]],
-[112, ["minus2", 0], 605, 564, [113, 111, 109]],
-[113, ["division2", 20], 551, 564, [107, 112, 108]],
-[114, ["vspace", 0], 466, 606, [107, 91]],
-[115, ["random", 0], 543, 480, [118, 116, 117, null]],
-[116, ["number", 0], 629, 480, [115, null]],
-[117, ["number", 10], 629, 522, [115, null]],
-[118, "setcolor", 466, 480, [84, 115, 119]],
-[119, ["vspace", 0], 466, 522, [118, 107]],
-[120, ["number", 0], 483, 126, [79, null]],
-[121, ["minus2", 0], 610, 690, [87, 88, 122]],
-[122, ["number", 50], 688, 732, [121, null]],
-[123, ["storein", 0], 401, 168, [79, 124, 81, 106]],
-[124, ["string", "my box 1"], 469, 168, [123, null]],
-[125, ["storein", 0], 57, 233, [21, 126, 25, 43]],
-[126, ["string", "my box 2"], 125, 233, [125, null]],
-[127, "stack", 466, 896, [92, 128, 129]],
-[128, ["string", "building"], 524, 896, [127, null]],
-[129, "stack", 466, 938, [127, 130, 100]],
-[130, ["string", "roof"], 524, 938, [129, null]],
-[131, "hat", 57, 141, [null, 132, 21]],
-[132, ["string", "building"], 115, 149, [131, null]],
-[133, "box", 193, 419, [26, 134, null]],
-[134, ["string", "my box 2"], 248, 419, [133, null]],
-[135, "box", 247, 503, [67, 136, null]],
-[136, ["string", "my box 1"], 302, 503, [135, null]],
-[137, "box", 193, 785, [47, 138, null]],
-[138, ["string", "my box 2"], 248, 785, [137, null]],
-[139, "box", 247, 869, [68, 140, null]],
-[140, ["string", "my box 1"], 302, 869, [139, null]],
-[141, "hat", 719, 0, [null, 142, 19]],
-[142, ["string", "roof"], 777, 8, [141, null]],
-[143, "box", 855, 194, [1, 144, null]],
-[144, ["string", "my box 1"], 910, 194, [143, null]],
-[145, "box", 855, 440, [12, 146, null]],
-[146, ["string", "my box 1"], 910, 440, [145, null]],
-[147, "box", 790, 582, [71, 148, null]],
-[148, ["string", "my box 1"], 845, 582, [147, null]]]
+[[0, ["start", 2.0], 580, 80, [null, 61]],
+[1, "forward", 978, 260, [4, 139, 2]],
+[2, "right", 978, 302, [1, 3, null]],
+[3, ["number", 90], 1036, 302, [2, null]],
+[4, ["repeat", 21], 960, 218, [6, 5, 1, 7]],
+[5, ["number", 4], 1019, 218, [4, null]],
+[6, "startfill", 960, 176, [18, 4]],
+[7, "stopfill", 960, 362, [4, 14]],
+[8, ["repeat", 21], 960, 488, [10, 9, 11, 65]],
+[9, ["number", 4], 1019, 488, [8, null]],
+[10, ["vspace", 0], 960, 446, [14, 8]],
+[11, "forward", 978, 530, [8, 141, 12]],
+[12, "right", 978, 572, [11, 13, null]],
+[13, ["number", 90], 1036, 572, [12, null]],
+[14, "setshade", 960, 404, [7, 17, 10]],
+[15, ["number", 50], 1099, 446, [17, null]],
+[16, "shade", 1099, 404, [17, null]],
+[17, ["plus2", 0], 1045, 404, [14, 16, 15]],
+[18, "seth", 960, 134, [137, 19, 6]],
+[19, ["number", 45], 1059, 134, [18, null]],
+[20, "seth", 220, 134, [127, 21, 121]],
+[21, ["number", 180], 319, 134, [20, null]],
+[22, "ycor", 361, 218, [24, null]],
+[23, "bottompos", 385, 260, [24, null]],
+[24, ["minus2", 0], 288, 218, [121, 22, 23]],
+[25, "forward", 238, 344, [30, 129, 32]],
+[26, "forward", 238, 428, [32, 63, 29]],
+[27, ["number", 2], 417, 470, [28, null]],
+[28, "sqrt", 363, 470, [63, 27]],
+[29, ["vspace", 0], 238, 470, [26, 34]],
+[30, ["repeat", 84], 220, 302, [40, 31, 25, 41]],
+[31, ["number", 2], 279, 302, [30, null]],
+[32, "left", 238, 386, [25, 33, 26]],
+[33, ["number", 90], 296, 386, [32, null]],
+[34, "left", 238, 512, [29, 35, null]],
+[35, ["number", 90], 296, 512, [34, null]],
+[36, "setshade", 960, 842, [74, 39, null]],
+[37, ["number", 50], 1142, 884, [39, null]],
+[38, "shade", 1118, 842, [39, null]],
+[39, ["minus2", 0], 1045, 842, [36, 38, 37]],
+[40, "startfill", 220, 260, [121, 30]],
+[41, "stopfill", 220, 572, [30, 53]],
+[42, ["repeat", 84], 220, 698, [60, 43, 44, 56]],
+[43, ["number", 2], 279, 698, [42, null]],
+[44, "forward", 238, 740, [42, 133, 45]],
+[45, "left", 238, 782, [44, 46, 47]],
+[46, ["number", 90], 296, 782, [45, null]],
+[47, "forward", 238, 824, [45, 64, 50]],
+[48, "sqrt", 363, 866, [64, 49]],
+[49, ["number", 2], 417, 866, [48, null]],
+[50, ["vspace", 0], 238, 866, [47, 51]],
+[51, "left", 238, 908, [50, 52, null]],
+[52, ["number", 90], 296, 908, [51, null]],
+[53, "setshade", 220, 614, [41, 59, 60]],
+[54, ["number", 50], 359, 656, [59, null]],
+[55, "shade", 359, 614, [59, null]],
+[56, "setshade", 220, 968, [42, 62, null]],
+[57, ["number", 50], 402, 1010, [62, null]],
+[58, "shade", 378, 968, [62, null]],
+[59, ["plus2", 0], 305, 614, [53, 55, 54]],
+[60, ["vspace", 0], 220, 656, [53, 42]],
+[61, "clean", 580, 126, [0, 75]],
+[62, ["minus2", 0], 305, 968, [56, 58, 57]],
+[63, ["product2", 0], 309, 428, [26, 131, 28]],
+[64, ["product2", 0], 309, 824, [47, 135, 48]],
+[65, "seth", 960, 632, [8, 66, 67]],
+[66, ["number", 135], 1059, 632, [65, null]],
+[67, "forward", 960, 674, [65, 143, 68]],
+[68, "seth", 960, 716, [67, 69, 73]],
+[69, ["number", 180], 1059, 716, [68, null]],
+[70, "ycor", 1104, 758, [71, null]],
+[71, ["minus2", 0], 1031, 758, [73, 70, 72]],
+[72, "bottompos", 1128, 800, [71, null]],
+[73, "forward", 960, 758, [68, 71, 74]],
+[74, ["vspace", 0], 960, 800, [73, 36]],
+[75, ["fillscreen", 0], 580, 168, [61, 76, 116, 119]],
+[76, ["number", 60], 662, 168, [75, null]],
+[77, ["random", 0], 648, 294, [119, 78, 79, null]],
+[78, ["number", 75], 734, 294, [77, null]],
+[79, ["number", 125], 734, 336, [77, null]],
+[80, ["repeat", 271], 580, 504, [95, 81, 114, null]],
+[81, ["number", 100], 639, 504, [80, null]],
+[82, ["setxy2", 40], 598, 756, [87, 83, 93, 88]],
+[83, ["random", 20], 656, 756, [82, 117, 85, null]],
+[84, "leftpos", 815, 756, [117, null]],
+[85, "rightpos", 742, 838, [83, null]],
+[86, "toppos", 721, 420, [92, null]],
+[87, "penup", 598, 714, [110, 82]],
+[88, "pendown", 598, 920, [82, 123]],
+[89, ["storein", 0], 580, 378, [102, 90, 92, 95]],
+[90, ["string", "top"], 648, 378, [89, null]],
+[91, ["number", 100], 745, 462, [92, null]],
+[92, ["minus2", 0], 648, 420, [89, 86, 91]],
+[93, "box", 656, 878, [82, 94, null]],
+[94, ["string", "top"], 711, 878, [93, null]],
+[95, ["vspace", 0], 580, 462, [89, 80]],
+[96, ["storein", 0], 598, 1046, [125, 97, 101, null]],
+[97, ["string", "top"], 666, 1046, [96, null]],
+[98, ["number", 3], 763, 1130, [101, null]],
+[99, "box", 739, 1088, [101, 100, null]],
+[100, ["string", "top"], 794, 1088, [99, null]],
+[101, ["minus2", 0], 666, 1088, [96, 99, 98]],
+[102, ["vspace", 0], 580, 336, [119, 89]],
+[103, "setshade", 598, 630, [115, 109, 110]],
+[104, ["number", 8], 777, 712, [109, null]],
+[105, "box", 850, 672, [108, 106, null]],
+[106, ["string", "top"], 905, 672, [105, null]],
+[107, "toppos", 826, 630, [108, null]],
+[108, ["minus2", 0], 753, 630, [109, 107, 105]],
+[109, ["division2", 20], 683, 630, [103, 108, 104]],
+[110, ["vspace", 0], 598, 672, [103, 87]],
+[111, ["random", 0], 675, 546, [114, 112, 113, null]],
+[112, ["number", 0], 761, 546, [111, null]],
+[113, ["number", 10], 761, 588, [111, null]],
+[114, "setcolor", 598, 546, [80, 111, 115]],
+[115, ["vspace", 0], 598, 588, [114, 103]],
+[116, ["number", 0], 662, 210, [75, null]],
+[117, ["minus2", 0], 742, 756, [83, 84, 118]],
+[118, ["number", 50], 839, 798, [117, null]],
+[119, ["storein", 0], 580, 252, [75, 120, 77, 102]],
+[120, ["string", "my box 1"], 648, 252, [119, null]],
+[121, ["storein", 0], 220, 176, [20, 122, 24, 40]],
+[122, ["string", "my box 2"], 288, 176, [121, null]],
+[123, "stack", 598, 962, [88, 124, 125]],
+[124, ["string", "building"], 656, 962, [123, null]],
+[125, "stack", 598, 1004, [123, 126, 96]],
+[126, ["string", "roof"], 656, 1004, [125, null]],
+[127, "hat", 220, 80, [null, 128, 20]],
+[128, ["string", "building"], 278, 92, [127, null]],
+[129, "box", 309, 344, [25, 130, null]],
+[130, ["string", "my box 2"], 364, 344, [129, null]],
+[131, "box", 363, 428, [63, 132, null]],
+[132, ["string", "my box 1"], 418, 428, [131, null]],
+[133, "box", 309, 740, [44, 134, null]],
+[134, ["string", "my box 2"], 364, 740, [133, null]],
+[135, "box", 363, 824, [64, 136, null]],
+[136, ["string", "my box 1"], 418, 824, [135, null]],
+[137, "hat", 960, 80, [null, 138, 18]],
+[138, ["string", "roof"], 1018, 92, [137, null]],
+[139, "box", 1049, 260, [1, 140, null]],
+[140, ["string", "my box 1"], 1104, 260, [139, null]],
+[141, "box", 1049, 530, [11, 142, null]],
+[142, ["string", "my box 1"], 1104, 530, [141, null]],
+[143, "box", 1031, 674, [67, 144, null]],
+[144, ["string", "my box 1"], 1086, 674, [143, null]]]
diff --git a/samples/graphics-csquiral.ta b/samples/graphics-csquiral.ta
index 9b77344..8ab4677 100644
--- a/samples/graphics-csquiral.ta
+++ b/samples/graphics-csquiral.ta
@@ -1,24 +1,23 @@
[[0, ["start", 2.0], 719, 108, [null, 1]],
[1, "clean", 719, 154, [0, 2]],
[2, "storeinbox1", 719, 196, [1, 3, 4]],
-[3, ["number", 1], 836, 196, [2, null]],
+[3, ["number", 1], 837, 196, [2, null]],
[4, "setpensize", 719, 238, [2, 5, 6]],
[5, ["number", 20], 821, 238, [4, null]],
-[6, ["repeat", 84], 719, 280, [4, 7, 8, null]],
-[7, ["number", 1300], 777, 280, [6, null]],
+[6, ["repeat", 105], 719, 280, [4, 7, 8, null]],
+[7, ["number", 1300], 778, 280, [6, null]],
[8, "forward", 737, 322, [6, 9, 10]],
-[9, "box1", 807, 322, [8, null]],
+[9, "box1", 808, 322, [8, null]],
[10, "right", 737, 364, [8, 11, 12]],
[11, ["number", 91], 795, 364, [10, null]],
-[12, "setcolor", 737, 406, [10, 22, 16]],
-[13, ["division2", 0], 948, 406, [22, 14, 15]],
-[14, "xcor", 1018, 406, [13, null]],
-[15, ["number", 6], 1042, 448, [13, null]],
-[16, "setshade", 737, 448, [12, 17, 18]],
-[17, "heading", 822, 448, [16, null]],
-[18, "storeinbox1", 737, 490, [16, 19, null]],
-[19, ["plus2", 0], 854, 490, [18, 20, 21]],
-[20, "box1", 908, 490, [19, null]],
-[21, ["number", 1], 908, 532, [19, null]],
-[22, ["identity2", 40], 814, 406, [12, 13]],
-[-1, ["turtle", "Yertle"], 907.9985581895907, 87.04554561204145, 220.0, 151.33309303159845, 220.0, 20.0]] \ No newline at end of file
+[12, "setcolor", 737, 406, [10, 13, 22]],
+[13, ["division2", 0], 814, 406, [12, 14, 15]],
+[14, "xcor", 884, 406, [13, null]],
+[15, ["number", 6], 908, 448, [13, null]],
+[16, "setshade", 737, 490, [22, 17, 18]],
+[17, "heading", 822, 490, [16, null]],
+[18, "storeinbox1", 737, 532, [16, 19, null]],
+[19, ["plus2", 0], 855, 532, [18, 20, 21]],
+[20, "box1", 909, 532, [19, null]],
+[21, ["number", 1], 909, 574, [19, null]],
+[22, ["vspace", 0], 737, 448, [12, 16]]]
diff --git a/samples/graphics-curls.tb b/samples/graphics-curls.tb
new file mode 100644
index 0000000..05f46f4
--- /dev/null
+++ b/samples/graphics-curls.tb
@@ -0,0 +1,73 @@
+[[0, ["start", 2.0], 299, 180, [null, 71]],
+[1, ["arc", 0], 978, 344, [8, 2, 6, 10]],
+[2, ["number", 90.0], 1036, 344, [1, null]],
+[3, ["storein", 0], 960, 218, [25, 4, 5, 8]],
+[4, ["string", "radius"], 1028, 218, [3, null]],
+[5, ["number", 10.0], 1028, 260, [3, null]],
+[6, "box", 1036, 386, [1, 7, null]],
+[7, ["string", "radius"], 1091, 386, [6, null]],
+[8, ["repeat", 63], 960, 302, [3, 9, 1, 26]],
+[9, ["number", 36.0], 1019, 302, [8, null]],
+[10, ["storein", 0], 978, 428, [1, 11, 12, null]],
+[11, ["string", "radius"], 1046, 428, [10, null]],
+[12, ["plus2", 0], 1046, 470, [10, 14, 16]],
+[13, "pensize", 1170, 512, [16, null]],
+[14, "box", 1100, 470, [12, 15, null]],
+[15, ["string", "radius"], 1155, 470, [14, null]],
+[16, ["division2", 0], 1100, 512, [12, 13, 17]],
+[17, ["number", 2.0], 1194, 554, [16, null]],
+[18, "hat", 960, 80, [null, 19, 29]],
+[19, ["string", "curl"], 1018, 92, [18, null]],
+[20, "fillscreen2", 299, 268, [71, 21, 23, 22, 24]],
+[21, ["number", 60], 381, 268, [20, null]],
+[22, ["number", 100], 381, 352, [20, null]],
+[23, "black", 381, 310, [20, null]],
+[24, "penup", 299, 394, [20, 36]],
+[25, "pendown", 960, 176, [29, 3]],
+[26, "penup", 960, 530, [8, null]],
+[27, "leftpos", 357, 436, [36, null]],
+[28, "toppos", 357, 478, [36, null]],
+[29, "setcolor", 960, 134, [18, 30, 25]],
+[30, ["random", 0], 1037, 134, [29, 31, 32, null]],
+[31, ["number", 0], 1123, 134, [30, null]],
+[32, ["number", 100], 1123, 176, [30, null]],
+[33, "stack", 18, 268, [59, 34, 57]],
+[34, ["string", "curl"], 76, 268, [33, null]],
+[35, ["setxy2", 40], 580, 134, [55, 46, 53, 54]],
+[36, ["setxy2", 0], 299, 436, [24, 27, 28, 69]],
+[37, ["if", 21], 580, 340, [54, 39, 41, null]],
+[38, "xcor", 692, 306, [39, null]],
+[39, ["greater2", 0], 636, 306, [37, 38, 40, null]],
+[40, "rightpos", 716, 348, [39, null]],
+[41, ["setxy2", 0], 598, 406, [37, 43, 47, null]],
+[42, ["number", 40.0], 807, 532, [48, null]],
+[43, "leftpos", 656, 406, [41, null]],
+[44, "ycor", 729, 448, [47, null]],
+[45, "xcor", 692, 134, [46, null]],
+[46, ["plus2", 0], 638, 134, [35, 45, 51]],
+[47, ["minus2", 0], 656, 448, [41, 44, 48]],
+[48, ["product2", 0], 753, 490, [47, 49, 42]],
+[49, "pensize", 807, 490, [48, null]],
+[50, "pensize", 746, 176, [51, null]],
+[51, ["product2", 0], 692, 176, [46, 50, 52]],
+[52, ["number", 60.0], 746, 218, [51, null]],
+[53, "ycor", 638, 256, [35, null]],
+[54, ["vspace", 0], 580, 298, [35, 37]],
+[55, "hat", 580, 80, [null, 56, 35]],
+[56, ["string", "next position"], 638, 92, [55, null]],
+[57, "stack", 18, 310, [33, 58, 65]],
+[58, ["string", "next position"], 76, 310, [57, null]],
+[59, ["forever", 105], 0, 234, [67, 33, 66]],
+[60, "stopstack", 36, 460, [61, null]],
+[61, ["if", 0], 18, 394, [65, 63, 60, null]],
+[62, "ycor", 130, 360, [63, null]],
+[63, ["less2", 0], 74, 360, [61, 62, 64, null]],
+[64, "bottompos", 154, 402, [63, null]],
+[65, ["vspace", 0], 18, 352, [57, 61]],
+[66, "pendown", 0, 538, [59, null]],
+[67, "hat", 0, 180, [null, 68, 59]],
+[68, ["string", "action"], 58, 192, [67, null]],
+[69, "stack", 299, 520, [36, 70, null]],
+[70, ["string", "action"], 357, 520, [69, null]],
+[71, "setpensize", 299, 226, [0, 72, 20]],
+[72, ["number", 5.0], 401, 226, [71, null]]]
diff --git a/samples/graphics-daimons.tb b/samples/graphics-daimons.tb
new file mode 100644
index 0000000..da6bec8
--- /dev/null
+++ b/samples/graphics-daimons.tb
@@ -0,0 +1,74 @@
+[[0, ["start", 2.0], 47, 205, [null, 1]],
+[1, "fillscreen2", 47, 251, [0, 2, 4, 3, 5]],
+[2, ["number", 0.0], 129, 251, [1, null]],
+[3, ["number", 0.0], 129, 335, [1, null]],
+[4, ["number", 0.0], 129, 293, [1, null]],
+[5, "setcolor", 47, 377, [1, 6, 7]],
+[6, ["number", 75.0], 124, 377, [5, null]],
+[7, "setpensize", 47, 419, [5, 8, 9]],
+[8, ["number", 7.0], 149, 419, [7, null]],
+[9, "stack", 47, 461, [7, 10, null]],
+[10, ["string", "action 1"], 105, 461, [9, null]],
+[11, "hat", 308, 192, [null, 12, 13]],
+[12, ["string", "action 1"], 366, 204, [11, null]],
+[13, ["storein", 0], 308, 246, [11, 14, 15, 19]],
+[14, ["string", "my box 3"], 376, 246, [13, null]],
+[15, ["number", 100], 376, 288, [13, null]],
+[16, "setshade", 326, 414, [21, 17, 25]],
+[17, "box", 411, 414, [16, 18, null]],
+[18, ["string", "my box 3"], 466, 414, [17, null]],
+[19, ["repeat", 126], 308, 330, [13, 20, 21, null]],
+[20, ["number", 70.0], 367, 330, [19, null]],
+[21, "seth", 326, 372, [19, 22, 16]],
+[22, ["number", 0], 425, 372, [21, null]],
+[23, "hat", 784, 76, [null, 24, 38]],
+[24, ["string", "action 2"], 842, 88, [23, null]],
+[25, "stack", 326, 456, [16, 26, 27]],
+[26, ["string", "action 2"], 384, 456, [25, null]],
+[27, "seth", 326, 498, [25, 28, 29]],
+[28, ["number", 180.0], 425, 498, [27, null]],
+[29, "stack", 326, 540, [27, 30, 31]],
+[30, ["string", "action 2"], 384, 540, [29, null]],
+[31, ["storein", 0], 326, 582, [29, 32, 36, null]],
+[32, ["string", "my box 3"], 394, 582, [31, null]],
+[33, ["number", 1.0], 448, 666, [36, null]],
+[34, "box", 448, 624, [36, 35, null]],
+[35, ["string", "my box 3"], 503, 624, [34, null]],
+[36, ["plus2", 0], 394, 624, [31, 34, 33]],
+[37, "right", 784, 298, [41, 44, 46]],
+[38, ["storein", 0], 784, 130, [23, 39, 40, 41]],
+[39, ["string", "my box 1"], 852, 130, [38, null]],
+[40, ["number", 10.0], 852, 172, [38, null]],
+[41, ["storein", 0], 784, 214, [38, 42, 43, 37]],
+[42, ["string", "my box 2"], 852, 214, [41, null]],
+[43, ["number", 200.0], 852, 256, [41, null]],
+[44, "box", 842, 298, [37, 45, null]],
+[45, ["string", "my box 3"], 897, 298, [44, null]],
+[46, "penup", 784, 340, [37, 48]],
+[47, "pendown", 784, 466, [48, 51]],
+[48, ["setxy2", 0], 784, 382, [46, 49, 50, 47]],
+[49, ["number", 0], 842, 382, [48, null]],
+[50, ["number", 0], 842, 424, [48, null]],
+[51, ["repeat", 147], 784, 508, [47, 52, 53, null]],
+[52, ["number", 40.0], 843, 508, [51, null]],
+[53, ["arc", 0], 802, 550, [51, 56, 54, 58]],
+[54, "box", 860, 592, [53, 55, null]],
+[55, ["string", "my box 1"], 915, 592, [54, null]],
+[56, "box", 860, 550, [53, 57, null]],
+[57, ["string", "my box 2"], 915, 550, [56, null]],
+[58, "left", 802, 634, [53, 59, 70]],
+[59, ["number", 100.0], 860, 634, [58, null]],
+[60, ["plus2", 0], 870, 718, [70, 68, 63]],
+[61, ["minus2", 0], 870, 844, [64, 66, 62]],
+[62, ["number", 10.0], 948, 886, [61, null]],
+[63, ["number", 10.0], 924, 760, [60, null]],
+[64, ["storein", 0], 802, 802, [72, 65, 61, null]],
+[65, ["string", "my box 2"], 870, 802, [64, null]],
+[66, "box", 924, 844, [61, 67, null]],
+[67, ["string", "my box 2"], 979, 844, [66, null]],
+[68, "box", 924, 718, [60, 69, null]],
+[69, ["string", "my box 1"], 979, 718, [68, null]],
+[70, ["storein", 0], 802, 676, [58, 71, 60, 72]],
+[71, ["string", "my box 1"], 870, 676, [70, null]],
+[72, ["vspace", 0], 802, 760, [70, 64]]]
+
diff --git a/samples/graphics-dalton.tb b/samples/graphics-dalton.tb
new file mode 100644
index 0000000..31232d0
--- /dev/null
+++ b/samples/graphics-dalton.tb
@@ -0,0 +1,43 @@
+[[0, ["start", 2.0], 439, 89, [null, 1]],
+[1, "clean", 439, 135, [0, 2]],
+[2, "fillscreen2", 439, 177, [1, 3, 5, 4, 15]],
+[3, ["number", 60], 521, 177, [2, null]],
+[4, ["number", 100], 521, 261, [2, null]],
+[5, "black", 521, 219, [2, null]],
+[6, "setcolor", 971, 185, [34, 9, 8]],
+[7, "setshade", 971, 269, [8, 12, 38]],
+[8, ["vspace", 0], 971, 227, [6, 7]],
+[9, ["random", 0], 1048, 185, [6, 10, 11, null]],
+[10, ["number", 60], 1134, 185, [9, null]],
+[11, ["number", 80], 1134, 227, [9, null]],
+[12, ["random", 0], 1056, 269, [7, 13, 14, null]],
+[13, ["number", 40], 1142, 269, [12, null]],
+[14, ["number", 100], 1142, 311, [12, null]],
+[15, "setpensize", 439, 303, [2, 16, 17]],
+[16, ["number", 25], 541, 303, [15, null]],
+[17, ["storein", 0], 439, 345, [15, 18, 19, 22]],
+[18, ["string", "my box_1"], 507, 345, [17, null]],
+[19, ["number", 1], 507, 387, [17, null]],
+[20, "hat", 953, 89, [null, 21, 34]],
+[21, ["string", "action"], 1011, 101, [20, null]],
+[22, ["repeat", 63], 439, 429, [17, 23, 26, null]],
+[23, ["number", 100], 498, 429, [22, null]],
+[24, "right", 457, 513, [26, 25, 28]],
+[25, ["number", 119.8], 515, 513, [24, null]],
+[26, "stack", 457, 471, [22, 27, 24]],
+[27, ["string", "action"], 515, 471, [26, null]],
+[28, ["storein", 0], 457, 555, [24, 29, 33, null]],
+[29, ["string", "my box_1"], 525, 555, [28, null]],
+[30, ["number", 1], 579, 639, [33, null]],
+[31, "box", 579, 597, [33, 32, null]],
+[32, ["string", "my box_1"], 634, 597, [31, null]],
+[33, ["plus2", 0], 525, 597, [28, 31, 30]],
+[34, ["repeat", 126], 953, 143, [20, 35, 6, null]],
+[35, "box", 1012, 143, [34, 36, null]],
+[36, ["string", "my box_1"], 1067, 143, [35, null]],
+[37, "penup", 971, 395, [39, 41]],
+[38, "pendown", 971, 311, [7, 39]],
+[39, "forward", 971, 353, [38, 40, 37]],
+[40, ["number", 1], 1042, 353, [39, null]],
+[41, "forward", 971, 437, [37, 42, null]],
+[42, ["number", 25], 1042, 437, [41, null]]]
diff --git a/samples/graphics-dots.ta b/samples/graphics-dots.ta
index 5f12daa..01c0f0f 100644
--- a/samples/graphics-dots.ta
+++ b/samples/graphics-dots.ta
@@ -1,30 +1,38 @@
-[[0, "clean", 338, 42, [1, 2]],
-[1, ["start", 2.0], 338, 0, [null, 0]],
-[2, "setcolor", 338, 84, [0, 3, 4]],
-[3, ["number", 0], 415, 84, [2, null]],
-[4, "setpensize", 338, 126, [2, 5, 19]],
-[5, ["number", 20], 440, 126, [4, null]],
-[6, "repeat", 338, 252, [19, 7, 8, null]],
-[7, ["number", 1000], 389, 252, [6, null]],
-[8, "pendown", 403, 312, [6, 9]],
-[9, "forward", 403, 354, [8, 10, 11]],
-[10, ["number", 1], 474, 354, [9, null]],
-[11, "penup", 403, 396, [9, 12]],
-[12, "forward", 403, 438, [11, 22, 13]],
-[13, "right", 403, 480, [12, 14, 26]],
-[14, ["number", 93], 461, 480, [13, null]],
-[15, ["plus2", 0], 471, 564, [26, 28, 16]],
-[16, ["number", 1], 525, 606, [15, null]],
-[17, "setcolor", 403, 648, [18, 24, null]],
-[18, ["vspace", 0], 403, 606, [26, 17]],
-[19, ["storein", 0], 338, 168, [4, 20, 21, 6]],
-[20, ["string", "my box"], 406, 168, [19, null]],
-[21, ["number", 0.0], 406, 210, [19, null]],
-[22, "box", 474, 438, [12, 23, null]],
-[23, ["string", "my box"], 529, 438, [22, null]],
-[24, "box", 480, 648, [17, 25, null]],
-[25, ["string", "my box"], 535, 648, [24, null]],
-[26, ["storein", 0], 403, 522, [13, 27, 15, 18]],
-[27, ["string", "my box"], 471, 522, [26, null]],
-[28, "box", 525, 564, [15, 29, null]],
-[29, ["string", "my box"], 580, 564, [28, null]]]
+[[0, "clean", 760, 186, [1, 34]],
+[1, ["start", 2.0], 760, 140, [null, 0]],
+[2, "setcolor", 760, 354, [34, 3, 4]],
+[3, ["number", 0], 837, 354, [2, null]],
+[4, "setpensize", 760, 396, [2, 5, 19]],
+[5, ["number", 20], 862, 396, [4, null]],
+[6, ["repeat", 0], 760, 522, [19, 7, 32, null]],
+[7, ["number", 1000], 819, 522, [6, null]],
+[8, "pendown", 1020, 254, [30, 9]],
+[9, "forward", 1020, 296, [8, 10, 11]],
+[10, ["number", 1], 1091, 296, [9, null]],
+[11, "penup", 1020, 338, [9, 12]],
+[12, "forward", 1020, 380, [11, 22, 13]],
+[13, "right", 1020, 422, [12, 14, 26]],
+[14, ["number", 93], 1078, 422, [13, null]],
+[15, ["plus2", 0], 1088, 506, [26, 28, 16]],
+[16, ["number", 1], 1142, 548, [15, null]],
+[17, "setcolor", 1020, 590, [18, 24, null]],
+[18, ["vspace", 0], 1020, 548, [26, 17]],
+[19, ["storein", 0], 760, 438, [4, 20, 21, 6]],
+[20, ["string", "my box"], 828, 438, [19, null]],
+[21, ["number", 0], 828, 480, [19, null]],
+[22, "box", 1091, 380, [12, 23, null]],
+[23, ["string", "my box"], 1146, 380, [22, null]],
+[24, "box", 1097, 590, [17, 25, null]],
+[25, ["string", "my box"], 1152, 590, [24, null]],
+[26, ["storein", 0], 1020, 464, [13, 27, 15, 18]],
+[27, ["string", "my box"], 1088, 464, [26, null]],
+[28, "box", 1142, 506, [15, 29, null]],
+[29, ["string", "my box"], 1197, 506, [28, null]],
+[30, "hat", 1020, 200, [null, 31, 8]],
+[31, ["string", "dot"], 1078, 212, [30, null]],
+[32, "stack", 778, 564, [6, 33, null]],
+[33, ["string", "dot"], 836, 564, [32, null]],
+[34, "fillscreen2", 760, 228, [0, 35, 37, 36, 2]],
+[35, ["number", 60], 842, 228, [34, null]],
+[36, ["number", 100], 842, 312, [34, null]],
+[37, "white", 842, 270, [34, null]]]
diff --git a/samples/graphics-grid.tb b/samples/graphics-grid.tb
new file mode 100644
index 0000000..03235d8
--- /dev/null
+++ b/samples/graphics-grid.tb
@@ -0,0 +1,161 @@
+[[0, ["start", 2.0], 0, 180, [null, 32]],
+[1, ["repeat", 21], 1240, 276, [11, 2, 8, 12]],
+[2, ["number", 4], 1299, 276, [1, null]],
+[3, ["storein", 0], 640, 514, [118, 4, 5, 57]],
+[4, ["string", "side"], 708, 514, [3, null]],
+[5, ["number", 24], 708, 556, [3, null]],
+[6, "box", 1329, 318, [8, 7, null]],
+[7, ["string", "side"], 1384, 318, [6, null]],
+[8, "forward", 1258, 318, [1, 6, 9]],
+[9, "right", 1258, 360, [8, 10, null]],
+[10, ["number", 90], 1316, 360, [9, null]],
+[11, "startfill", 1240, 234, [13, 1]],
+[12, "stopfill", 1240, 420, [1, null]],
+[13, "hat", 1240, 180, [null, 14, 11]],
+[14, ["string", "square"], 1298, 192, [13, null]],
+[15, "stack", 36, 1016, [80, 16, 49]],
+[16, ["string", "square"], 94, 1016, [15, null]],
+[17, ["repeat", 105], 18, 806, [47, 27, 48, 51]],
+[18, "seth", 36, 890, [48, 19, 22]],
+[19, ["random", 0], 94, 890, [18, 20, 21, null]],
+[20, ["number", -15], 180, 890, [19, null]],
+[21, ["number", 15], 180, 932, [19, null]],
+[22, ["vspace", 0], 36, 932, [18, 80]],
+[23, ["repeat", 177], 0, 722, [132, 26, 47, null]],
+[24, "width", 147, 806, [27, null]],
+[25, "height", 129, 722, [26, null]],
+[26, ["division2", 0], 59, 722, [23, 25, 28]],
+[27, ["division2", 0], 77, 806, [17, 24, 30]],
+[28, "box", 153, 764, [26, 29, null]],
+[29, ["string", "grid spacing"], 208, 764, [28, null]],
+[30, "box", 171, 848, [27, 31, null]],
+[31, ["string", "grid spacing"], 226, 848, [30, null]],
+[32, ["storein", 0], 0, 226, [0, 33, 34, 122]],
+[33, ["string", "grid spacing"], 68, 226, [32, null]],
+[34, ["number", 32], 68, 268, [32, null]],
+[35, ["setxy2", 20], 1240, 856, [65, 38, 42, 66]],
+[36, "xcor", 1352, 856, [38, null]],
+[37, "ycor", 1352, 658, [39, null]],
+[38, ["plus2", 0], 1298, 856, [35, 36, 55]],
+[39, ["plus2", 0], 1298, 658, [40, 37, 53]],
+[40, ["setxy2", 20], 1240, 576, [63, 62, 39, 64]],
+[41, "leftpos", 1352, 576, [62, null]],
+[42, "ycor", 1298, 938, [35, null]],
+[43, "hat", 1240, 760, [null, 44, 65]],
+[44, ["string", "inc x"], 1298, 772, [43, null]],
+[45, "hat", 1240, 480, [null, 46, 63]],
+[46, ["string", "inc y"], 1298, 492, [45, null]],
+[47, ["vspace", 0], 18, 764, [23, 17]],
+[48, ["vspace", 0], 36, 848, [17, 18]],
+[49, "stack", 36, 1058, [15, 50, null]],
+[50, ["string", "inc x"], 94, 1058, [49, null]],
+[51, "stack", 18, 1118, [17, 52, null]],
+[52, ["string", "inc y"], 76, 1118, [51, null]],
+[53, "box", 1352, 700, [39, 54, null]],
+[54, ["string", "grid spacing"], 1407, 700, [53, null]],
+[55, "box", 1352, 898, [38, 56, null]],
+[56, ["string", "grid spacing"], 1407, 898, [55, null]],
+[57, ["storein", 0], 640, 598, [3, 58, 59, 138]],
+[58, ["string", "offset"], 708, 598, [57, null]],
+[59, ["number", 4], 708, 640, [57, null]],
+[60, "box", 1352, 618, [62, 61, null]],
+[61, ["string", "offset"], 1407, 618, [60, null]],
+[62, ["plus2", 0], 1298, 576, [40, 41, 60]],
+[63, "penup", 1240, 534, [45, 40]],
+[64, "pendown", 1240, 700, [40, null]],
+[65, "penup", 1240, 814, [43, 35]],
+[66, "pendown", 1240, 980, [35, null]],
+[67, "setcolor", 300, 276, [69, 71, 74]],
+[68, "setgray", 300, 360, [74, 77, null]],
+[69, "setshade", 300, 234, [75, 70, 67]],
+[70, ["number", 50], 385, 234, [69, null]],
+[71, ["random", 0], 377, 276, [67, 72, 73, null]],
+[72, ["number", 5], 463, 276, [71, null]],
+[73, ["number", 15], 463, 318, [71, null]],
+[74, ["vspace", 0], 300, 318, [67, 68]],
+[75, "hat", 300, 180, [null, 76, 69]],
+[76, ["string", "color 1"], 358, 192, [75, null]],
+[77, ["random", 0], 373, 360, [68, 78, 79, null]],
+[78, ["number", 80], 459, 360, [77, null]],
+[79, ["number", 100], 459, 402, [77, null]],
+[80, "stack", 36, 974, [22, 92, 15]],
+[81, ["string", "color 1"], 368, 724, [90, null]],
+[82, "hat", 0, 460, [null, 83, 128]],
+[83, ["string", "grid"], 58, 472, [82, null]],
+[84, "hat", 940, 180, [null, 85, 94]],
+[85, ["string", "color 3"], 998, 192, [84, null]],
+[86, "hat", 620, 180, [null, 87, 105]],
+[87, ["string", "color 2"], 678, 192, [86, null]],
+[88, "stack", 300, 766, [90, 89, null]],
+[89, ["string", "grid"], 358, 766, [88, null]],
+[90, ["storein", 0], 300, 682, [152, 91, 81, 88]],
+[91, ["string", "color scheme"], 368, 682, [90, null]],
+[92, "box", 94, 974, [80, 93, null]],
+[93, ["string", "color scheme"], 149, 974, [92, null]],
+[94, "setshade", 940, 234, [84, 95, 96]],
+[95, ["number", 50], 1025, 234, [94, null]],
+[96, "setcolor", 940, 276, [94, 97, 100]],
+[97, ["random", 0], 1017, 276, [96, 98, 99, null]],
+[98, ["number", 10], 1103, 276, [97, null]],
+[99, ["number", 20], 1103, 318, [97, null]],
+[100, ["vspace", 0], 940, 318, [96, 101]],
+[101, "setgray", 940, 360, [100, 102, null]],
+[102, ["random", 0], 1013, 360, [101, 103, 104, null]],
+[103, ["number", 80], 1099, 360, [102, null]],
+[104, ["number", 100], 1099, 402, [102, null]],
+[105, "setshade", 620, 234, [86, 106, 107]],
+[106, ["number", 40], 705, 234, [105, null]],
+[107, "setcolor", 620, 276, [105, 108, 111]],
+[108, ["random", 0], 697, 276, [107, 109, 110, null]],
+[109, ["number", 35], 783, 276, [108, null]],
+[110, ["number", 65], 783, 318, [108, null]],
+[111, ["vspace", 0], 620, 318, [107, 112]],
+[112, "setgray", 620, 360, [111, 113, null]],
+[113, ["random", 0], 693, 360, [112, 114, 115, null]],
+[114, ["number", 80], 779, 360, [113, null]],
+[115, ["number", 100], 779, 402, [113, null]],
+[116, "hat", 300, 460, [null, 117, 149]],
+[117, ["string", "grid 1"], 358, 472, [116, null]],
+[118, "hat", 640, 460, [null, 119, 3]],
+[119, ["string", "grid 2"], 698, 472, [118, null]],
+[120, "hat", 940, 460, [null, 121, 143]],
+[121, ["string", "grid 3"], 998, 472, [120, null]],
+[122, "stack", 0, 310, [32, 123, 124]],
+[123, ["string", "grid 1"], 58, 310, [122, null]],
+[124, "stack", 0, 352, [122, 125, 126]],
+[125, ["string", "grid 2"], 58, 352, [124, null]],
+[126, "stack", 0, 394, [124, 127, null]],
+[127, ["string", "grid 3"], 58, 394, [126, null]],
+[128, "penup", 0, 514, [82, 129]],
+[129, ["setxy2", 20], 0, 556, [128, 155, 156, 132]],
+[130, "leftpos", 112, 556, [155, null]],
+[131, "bottompos", 112, 638, [156, null]],
+[132, "pendown", 0, 680, [129, 23]],
+[133, ["storein", 0], 940, 682, [146, 134, 135, 136]],
+[134, ["string", "color scheme"], 1008, 682, [133, null]],
+[135, ["string", "color 3"], 1008, 724, [133, null]],
+[136, "stack", 940, 766, [133, 137, null]],
+[137, ["string", "grid"], 998, 766, [136, null]],
+[138, ["storein", 0], 640, 682, [57, 139, 140, 141]],
+[139, ["string", "color scheme"], 708, 682, [138, null]],
+[140, ["string", "color 2"], 708, 724, [138, null]],
+[141, "stack", 640, 766, [138, 142, null]],
+[142, ["string", "grid"], 698, 766, [141, null]],
+[143, ["storein", 0], 940, 514, [120, 144, 145, 146]],
+[144, ["string", "side"], 1008, 514, [143, null]],
+[145, ["number", 16], 1008, 556, [143, null]],
+[146, ["storein", 0], 940, 598, [143, 147, 148, 133]],
+[147, ["string", "offset"], 1008, 598, [146, null]],
+[148, ["number", 8], 1008, 640, [146, null]],
+[149, ["storein", 0], 300, 514, [116, 150, 151, 152]],
+[150, ["string", "side"], 368, 514, [149, null]],
+[151, ["number", 32], 368, 556, [149, null]],
+[152, ["storein", 0], 300, 598, [149, 153, 154, 90]],
+[153, ["string", "offset"], 368, 598, [152, null]],
+[154, ["number", 0], 368, 640, [152, null]],
+[155, ["plus2", 0], 58, 556, [129, 130, 157]],
+[156, ["plus2", 0], 58, 638, [129, 131, 159]],
+[157, "box", 112, 598, [155, 158, null]],
+[158, ["string", "offset"], 167, 598, [157, null]],
+[159, "box", 112, 680, [156, 160, null]],
+[160, ["string", "offset"], 167, 680, [159, null]]]
diff --git a/samples/graphics-op-art-2.ta b/samples/graphics-op-art-2.ta
new file mode 100644
index 0000000..6f44202
--- /dev/null
+++ b/samples/graphics-op-art-2.ta
@@ -0,0 +1,83 @@
+[[0, ["start", 2.0], 180, 180, [null, 79]],
+[1, "hat", 560, 180, [null, 2, 3]],
+[2, ["string", "square"], 618, 192, [1, null]],
+[3, "startfill", 560, 234, [1, 8]],
+[4, "stopfill", 560, 420, [8, 81]],
+[5, "forward", 578, 318, [8, 13, 6]],
+[6, "right", 578, 360, [5, 7, null]],
+[7, ["number", 90], 636, 360, [6, null]],
+[8, ["repeat", 21], 560, 276, [3, 9, 5, 4]],
+[9, ["number", 4], 619, 276, [8, null]],
+[10, ["storein", 0], 180, 268, [79, 11, 12, 73]],
+[11, ["string", "size"], 248, 268, [10, null]],
+[12, ["number", 50.0], 248, 310, [10, null]],
+[13, "box", 649, 318, [5, 14, null]],
+[14, ["string", "size"], 704, 318, [13, null]],
+[15, ["repeat", 21], 560, 504, [81, 16, 17, 47]],
+[16, ["number", 4], 619, 504, [15, null]],
+[17, "forward", 578, 546, [15, 18, 20]],
+[18, "box", 649, 546, [17, 19, null]],
+[19, ["string", "size"], 704, 546, [18, null]],
+[20, "right", 578, 588, [17, 21, null]],
+[21, ["number", 90], 636, 588, [20, null]],
+[22, "yellow", 293, 1018, [42, null]],
+[23, "blue", 293, 934, [41, null]],
+[24, ["random", 0], 353, 646, [37, 25, 26, null]],
+[25, ["number", 0], 439, 646, [24, null]],
+[26, "box", 439, 688, [24, 27, null]],
+[27, ["string", "size"], 494, 688, [26, null]],
+[28, ["repeat", 342], 180, 520, [74, 67, 39, null]],
+[29, ["repeat", 124], 198, 770, [40, 56, 34, 64]],
+[30, "width", 451, 812, [31, null]],
+[31, ["division2", 0], 381, 812, [55, 30, 32]],
+[32, "box", 475, 854, [31, 33, null]],
+[33, ["string", "size"], 530, 854, [32, null]],
+[34, ["vspace", 40], 216, 812, [29, 41]],
+[35, ["setxy2", 20], 198, 604, [39, 37, 36, 40]],
+[36, "ycor", 256, 686, [35, null]],
+[37, ["minus2", 0], 256, 604, [35, 38, 24]],
+[38, "leftpos", 329, 604, [37, null]],
+[39, "penup", 198, 562, [28, 35]],
+[40, "pendown", 198, 728, [35, 29]],
+[41, "setcolor", 216, 934, [34, 23, 43]],
+[42, "setcolor", 216, 1018, [43, 22, 45]],
+[43, "stack", 216, 976, [41, 44, 42]],
+[44, ["string", "square"], 274, 976, [43, null]],
+[45, "stack", 216, 1060, [42, 46, null]],
+[46, ["string", "square"], 274, 1060, [45, null]],
+[47, "penup", 560, 648, [15, 49]],
+[48, "pendown", 560, 814, [49, null]],
+[49, ["setxy2", 20], 560, 690, [47, 52, 50, 48]],
+[50, "ycor", 618, 772, [49, null]],
+[51, "xcor", 672, 690, [52, null]],
+[52, ["plus2", 0], 618, 690, [49, 51, 53]],
+[53, "box", 672, 732, [52, 54, null]],
+[54, ["string", "size"], 727, 732, [53, null]],
+[55, ["division2", 20], 311, 812, [56, 31, 58]],
+[56, ["plus2", 0], 257, 770, [29, 57, 55]],
+[57, ["number", 2.0], 311, 770, [56, null]],
+[58, ["number", 2.0], 405, 894, [55, null]],
+[59, ["setxy2", 0], 198, 1162, [64, 61, 75, 65]],
+[60, "ycor", 329, 1204, [75, null]],
+[61, "leftpos", 256, 1162, [59, null]],
+[62, "box", 353, 1246, [75, 63, null]],
+[63, ["string", "size"], 408, 1246, [62, null]],
+[64, "penup", 198, 1120, [29, 59]],
+[65, "pendown", 198, 1246, [59, null]],
+[66, "height", 309, 520, [67, null]],
+[67, ["division2", 0], 239, 520, [28, 66, 68]],
+[68, "box", 333, 562, [67, 69, null]],
+[69, ["string", "size"], 388, 562, [68, null]],
+[70, ["setxy2", 0], 180, 394, [73, 71, 76, 74]],
+[71, "leftpos", 238, 394, [70, null]],
+[72, "toppos", 311, 436, [76, null]],
+[73, "penup", 180, 352, [10, 70]],
+[74, "pendown", 180, 478, [70, 28]],
+[75, ["minus2", 0], 256, 1204, [59, 60, 62]],
+[76, ["minus2", 0], 238, 436, [70, 72, 77]],
+[77, "box", 335, 478, [76, 78, null]],
+[78, ["string", "size"], 390, 478, [77, null]],
+[79, "setpensize", 180, 226, [0, 80, 10]],
+[80, ["number", 3.0], 282, 226, [79, null]],
+[81, "setgray", 560, 462, [4, 82, 15]],
+[82, ["number", 0.0], 633, 462, [81, null]]]
diff --git a/samples/graphics-palm.tb b/samples/graphics-palm.tb
new file mode 100644
index 0000000..7ebf70e
--- /dev/null
+++ b/samples/graphics-palm.tb
@@ -0,0 +1,60 @@
+[[0, ["start", 2.0], 100, 180, [null, 42]],
+[1, ["repeat", 42], 640, 234, [50, 2, 3, null]],
+[2, ["number", 28.0], 699, 234, [1, null]],
+[3, ["arc", 0], 658, 276, [1, 4, 13, 38]],
+[4, ["number", 360.0], 716, 276, [3, null]],
+[5, "setcolor", 340, 360, [9, 6, 31]],
+[6, ["number", 40], 417, 360, [5, null]],
+[7, "setpensize", 340, 444, [31, 8, 14]],
+[8, ["number", 100], 442, 444, [7, null]],
+[9, "fillscreen2", 340, 234, [40, 10, 12, 11, 5]],
+[10, ["number", 60], 422, 234, [9, null]],
+[11, ["number", 100], 422, 318, [9, null]],
+[12, "black", 422, 276, [9, null]],
+[13, "width", 716, 318, [3, null]],
+[14, "seth", 340, 486, [7, 15, 44]],
+[15, ["number", 15], 439, 486, [14, null]],
+[16, "penup", 900, 490, [21, 20]],
+[17, "pendown", 900, 616, [20, null]],
+[18, "leftpos", 958, 532, [20, null]],
+[19, "bottompos", 958, 574, [20, null]],
+[20, ["setxy2", 0], 900, 532, [16, 18, 19, 17]],
+[21, "seth", 900, 448, [54, 49, 16]],
+[22, ["number", -10.0], 1096, 490, [49, null]],
+[23, "heading", 1072, 448, [49, null]],
+[24, "setpensize", 900, 198, [34, 27, 35]],
+[25, ["number", 7], 1099, 240, [27, null]],
+[26, "pensize", 1075, 198, [27, null]],
+[27, ["minus2", 0], 1002, 198, [24, 26, 25]],
+[28, "setshade", 900, 114, [36, 33, 34]],
+[29, ["number", 3], 1039, 156, [33, null]],
+[30, "shade", 1039, 114, [33, null]],
+[31, "setshade", 340, 402, [5, 32, 7]],
+[32, ["number", 20], 425, 402, [31, null]],
+[33, ["plus2", 0], 985, 114, [28, 30, 29]],
+[34, ["vspace", 0], 900, 156, [28, 24]],
+[35, ["vspace", 20], 900, 240, [24, 54]],
+[36, "hat", 900, 60, [null, 37, 28]],
+[37, ["string", "adjust pen"], 958, 72, [36, null]],
+[38, "stack", 658, 360, [3, 39, null]],
+[39, ["string", "adjust pen"], 716, 360, [38, null]],
+[40, "hat", 340, 180, [null, 41, 9]],
+[41, ["string", "setup"], 398, 192, [40, null]],
+[42, "stack", 100, 226, [0, 43, 52]],
+[43, ["string", "setup"], 158, 226, [42, null]],
+[44, "penup", 340, 528, [14, 45]],
+[45, ["setxy2", 0], 340, 570, [44, 46, 47, 48]],
+[46, "leftpos", 398, 570, [45, null]],
+[47, "bottompos", 398, 612, [45, null]],
+[48, "pendown", 340, 654, [45, null]],
+[49, ["minus2", 0], 999, 448, [21, 23, 22]],
+[50, "hat", 640, 180, [null, 51, 1]],
+[51, ["string", "action"], 698, 192, [50, null]],
+[52, "stack", 100, 268, [42, 53, null]],
+[53, ["string", "action"], 158, 268, [52, null]],
+[54, ["if", 0], 900, 322, [35, 55, 59, 21]],
+[55, ["less2", 0], 956, 288, [54, 57, 56, null]],
+[56, ["number", 1.0], 1036, 330, [55, null]],
+[57, "pensize", 1012, 288, [55, null]],
+[58, ["number", 11.0], 1020, 388, [59, null]],
+[59, "setpensize", 918, 388, [54, 58, null]]]
diff --git a/samples/graphics-redwisp.ta b/samples/graphics-redwisp.ta
index f0eb998..b5658e9 100644
--- a/samples/graphics-redwisp.ta
+++ b/samples/graphics-redwisp.ta
@@ -1,42 +1,40 @@
-[[0, "setpensize", 140, 224, [2, 1, 3]],
-[1, ["number", 15], 242, 224, [0, null]],
-[2, "clean", 140, 182, [6, 0]],
-[3, "repeat", 140, 266, [0, 4, 37, null]],
-[4, ["number", 360], 191, 266, [3, null]],
-[5, "setshade", 205, 452, [32, 10, 41]],
-[6, ["start", 2.0], 140, 140, [null, 2]],
-[7, ["product2", 0], 273, 368, [37, 8, 9]],
-[8, "heading", 327, 368, [7, null]],
-[9, ["number", 600], 327, 410, [7, null]],
-[10, ["division2", 0], 290, 452, [5, 39, 11]],
-[11, ["number", 360], 368, 494, [10, null]],
-[12, "repeat", 560, 190, [33, 13, 14, 20]],
-[13, ["number", 4], 611, 190, [12, null]],
-[14, ["arc", 0], 625, 250, [12, 15, 16, 17]],
-[15, ["number", 180], 683, 250, [14, null]],
-[16, ["number", 75], 683, 292, [14, null]],
-[17, ["arc", 0], 625, 334, [14, 18, 19, null]],
-[18, ["number", -180], 683, 334, [17, null]],
-[19, ["number", 75], 683, 376, [17, null]],
-[20, ["vspace", 60.0], 560, 268, [12, 21]],
-[21, "repeat", 560, 430, [20, 22, 23, 29]],
-[22, ["number", 4], 611, 430, [21, null]],
-[23, ["arc", 0], 625, 490, [21, 24, 25, 26]],
-[24, ["number", -180], 683, 490, [23, null]],
-[25, ["number", -75], 683, 532, [23, null]],
-[26, ["arc", 0], 625, 574, [23, 27, 28, null]],
-[27, ["number", 180], 683, 574, [26, null]],
-[28, ["number", -75], 683, 616, [26, null]],
-[29, ["vspace", 60.0], 560, 508, [21, 30]],
-[30, "right", 560, 670, [29, 31, null]],
-[31, ["number", 1], 618, 670, [30, null]],
-[32, ["vspace", 0], 205, 410, [37, 5]],
-[33, "hat", 560, 140, [null, 34, 12]],
-[34, ["string", "action"], 618, 148, [33, null]],
-[35, "stack", 205, 536, [41, 36, null]],
-[36, ["string", "action"], 263, 536, [35, null]],
-[37, ["storein", 0], 205, 326, [3, 38, 7, 32]],
-[38, ["string", "my box"], 273, 326, [37, null]],
-[39, "box", 344, 452, [10, 40, null]],
-[40, ["string", "my box"], 399, 452, [39, null]],
-[41, ["vspace", 0], 205, 494, [5, 35]]]
+[[0, "setpensize", 500, 168, [2, 1, 3]],
+[1, ["number", 15], 602, 168, [0, null]],
+[2, "clean", 500, 126, [6, 0]],
+[3, ["repeat", 105], 500, 210, [0, 4, 35, null]],
+[4, ["number", 360], 559, 210, [3, null]],
+[5, "setshade", 518, 378, [30, 10, 39]],
+[6, ["start", 2.0], 500, 80, [null, 2]],
+[7, ["product2", 0], 586, 294, [35, 8, 9]],
+[8, "heading", 640, 294, [7, null]],
+[9, ["number", 600], 640, 336, [7, null]],
+[10, ["division2", 0], 603, 378, [5, 37, 11]],
+[11, ["number", 360], 697, 420, [10, null]],
+[12, ["repeat", 63], 860, 134, [31, 13, 14, 20]],
+[13, ["number", 4], 919, 134, [12, null]],
+[14, ["arc", 0], 878, 176, [12, 15, 16, 17]],
+[15, ["number", 180], 936, 176, [14, null]],
+[16, ["number", 75], 936, 218, [14, null]],
+[17, ["arc", 0], 878, 260, [14, 18, 19, null]],
+[18, ["number", -180], 936, 260, [17, null]],
+[19, ["number", 75], 936, 302, [17, null]],
+[20, ["repeat", 63], 860, 362, [12, 21, 22, 28]],
+[21, ["number", 4], 919, 362, [20, null]],
+[22, ["arc", 0], 878, 404, [20, 23, 24, 25]],
+[23, ["number", -180], 936, 404, [22, null]],
+[24, ["number", -75], 936, 446, [22, null]],
+[25, ["arc", 0], 878, 488, [22, 26, 27, null]],
+[26, ["number", 180], 936, 488, [25, null]],
+[27, ["number", -75], 936, 530, [25, null]],
+[28, "right", 860, 590, [20, 29, null]],
+[29, ["number", 1], 918, 590, [28, null]],
+[30, ["vspace", 0], 518, 336, [35, 5]],
+[31, "hat", 860, 80, [null, 32, 12]],
+[32, ["string", "action"], 918, 92, [31, null]],
+[33, "stack", 518, 462, [39, 34, null]],
+[34, ["string", "action"], 576, 462, [33, null]],
+[35, ["storein", 0], 518, 252, [3, 36, 7, 30]],
+[36, ["string", "my box"], 586, 252, [35, null]],
+[37, "box", 673, 378, [10, 38, null]],
+[38, ["string", "my box"], 728, 378, [37, null]],
+[39, ["vspace", 0], 518, 420, [5, 33]]]
diff --git a/samples/math-dice.ta b/samples/math-dice.ta
index 4e1592a..0fed83b 100644
--- a/samples/math-dice.ta
+++ b/samples/math-dice.ta
@@ -1,108 +1,119 @@
-[[0, ["start", 2.0], 743, 65, [null, 20]],
-[1, ["random", 0], 168, 418, [7, 2, 3, null]],
-[2, ["number", 1], 254, 418, [1, null]],
-[3, ["number", 6], 254, 460, [1, null]],
-[4, ["random", 0], 168, 336, [7, 5, 6, null]],
-[5, ["number", 1], 254, 336, [4, null]],
-[6, ["number", 6], 254, 378, [4, null]],
-[7, ["plus2", 20], 114, 336, [78, 4, 1]],
-[8, ["storein", 0], 46, 500, [12, 96, 11, null]],
-[9, ["number", 1], 168, 584, [11, null]],
-[10, "box", 168, 542, [11, 98, null]],
-[11, ["plus2", 0], 114, 542, [8, 10, 9]],
-[12, ["vspace", 40], 46, 378, [78, 8]],
-[13, ["repeat", 124], 28, 252, [14, 23, 78, null]],
-[14, "hat", 28, 198, [null, 15, 13]],
-[15, ["string", "toss dice"], 86, 210, [14, null]],
-[16, "stack", 743, 237, [27, 17, 18]],
-[17, ["string", "toss dice"], 801, 237, [16, null]],
-[18, "stack", 743, 279, [16, 19, null]],
-[19, ["string", "plot results"], 801, 279, [18, null]],
-[20, ["storein", 0], 743, 111, [0, 21, 22, 27]],
-[21, ["string", "trials"], 811, 111, [20, null]],
-[22, ["number", 1600.0], 811, 153, [20, null]],
-[23, "box", 87, 252, [13, 24, null]],
-[24, ["string", "trials"], 142, 252, [23, null]],
-[25, "hat", 869, 333, [null, 26, 85]],
-[26, ["string", "clear bins"], 927, 345, [25, null]],
-[27, "stack", 743, 195, [20, 28, 16]],
-[28, ["string", "clear bins"], 801, 195, [27, null]],
-[29, ["storein", 0], 887, 513, [33, 88, 30, 83]],
-[30, ["number", 0], 955, 555, [29, null]],
-[31, ["number", 1], 1009, 681, [32, null]],
-[32, ["plus2", 0], 955, 639, [83, 90, 31]],
-[33, ["repeat", 63], 869, 471, [85, 34, 29, null]],
-[34, ["number", 11.0], 928, 471, [33, null]],
-[35, "hat", 475, 98, [null, 36, 64]],
-[36, ["string", "plot results"], 533, 110, [35, null]],
-[37, "penup", 493, 362, [45, 39]],
-[38, "pendown", 493, 694, [71, 61]],
-[39, ["setxy2", 40], 493, 404, [37, 41, 40, 68]],
-[40, ["number", 0], 551, 526, [39, null]],
-[41, ["product2", 0], 551, 404, [39, 44, 42]],
-[42, ["minus2", 0], 605, 446, [41, 92, 43]],
-[43, ["number", 6], 683, 488, [42, null]],
-[44, ["number", 50], 605, 404, [41, null]],
-[45, ["repeat", 406], 475, 320, [80, 46, 37, 73]],
-[46, ["number", 11], 534, 320, [45, null]],
-[47, ["repeat", 63], 493, 862, [57, 48, 50, 58]],
-[48, ["number", 2], 552, 862, [47, null]],
-[49, ["vspace", 0], 493, 778, [61, 57]],
-[50, "forward", 511, 904, [47, 67, 51]],
-[51, "right", 511, 946, [50, 52, 53]],
-[52, ["number", 90], 569, 946, [51, null]],
-[53, "forward", 511, 988, [51, 54, 55]],
-[54, ["number", 40], 582, 988, [53, null]],
-[55, "right", 511, 1030, [53, 56, null]],
-[56, ["number", 90], 569, 1030, [55, null]],
-[57, "startfill", 493, 820, [49, 47]],
-[58, "stopfill", 493, 1090, [47, 100]],
-[59, ["number", 1], 615, 1216, [60, null]],
-[60, ["plus2", 0], 561, 1174, [100, 102, 59]],
-[61, "setcolor", 493, 736, [38, 63, 49]],
-[62, ["number", 10], 624, 778, [63, null]],
-[63, ["product2", 0], 570, 736, [61, 104, 62]],
-[64, "clean", 475, 152, [35, 65]],
-[65, "setshade", 475, 194, [64, 66, 80]],
-[66, ["number", 25], 560, 194, [65, null]],
-[67, "box", 582, 904, [50, 106, null]],
-[68, "back", 493, 568, [39, 69, 70]],
-[69, ["number", 50], 551, 568, [68, null]],
-[70, "show", 493, 610, [68, 94, 71]],
-[71, "forward", 493, 652, [70, 72, 38]],
-[72, ["number", 50], 564, 652, [71, null]],
-[73, "penup", 475, 1234, [45, 75]],
-[74, "pendown", 475, 1360, [75, null]],
-[75, ["setxy2", 0], 475, 1276, [73, 76, 77, 74]],
-[76, ["number", 0], 533, 1276, [75, null]],
-[77, ["number", -50], 533, 1318, [75, null]],
-[78, ["storein", 0], 46, 294, [13, 79, 7, 12]],
-[79, ["string", "box"], 114, 294, [78, null]],
-[80, ["storein", 0], 475, 236, [65, 81, 82, 45]],
-[81, ["string", "box"], 543, 236, [80, null]],
-[82, ["number", 2.0], 543, 278, [80, null]],
-[83, ["storein", 0], 887, 597, [29, 84, 32, null]],
-[84, ["string", "box"], 955, 597, [83, null]],
-[85, ["storein", 0], 869, 387, [25, 86, 87, 33]],
-[86, ["string", "box"], 937, 387, [85, null]],
-[87, ["number", 2.0], 937, 429, [85, null]],
-[88, "box", 955, 513, [29, 89, null]],
-[89, ["string", "box"], 1010, 513, [88, null]],
-[90, "box", 1009, 639, [32, 91, null]],
-[91, ["string", "box"], 1064, 639, [90, null]],
-[92, "box", 659, 446, [42, 93, null]],
-[93, ["string", "box"], 714, 446, [92, null]],
-[94, "box", 551, 610, [70, 95, null]],
-[95, ["string", "box"], 606, 610, [94, null]],
-[96, "box", 114, 500, [8, 97, null]],
-[97, ["string", "box"], 169, 500, [96, null]],
-[98, "box", 223, 542, [10, 99, null]],
-[99, ["string", "box"], 278, 542, [98, null]],
-[100, ["storein", 0], 493, 1132, [58, 101, 60, null]],
-[101, ["string", "box"], 561, 1132, [100, null]],
-[102, "box", 615, 1174, [60, 103, null]],
-[103, ["string", "box"], 670, 1174, [102, null]],
-[104, "box", 624, 736, [63, 105, null]],
-[105, ["string", "box"], 679, 736, [104, null]],
-[106, "box", 637, 904, [67, 107, null]],
-[107, ["string", "box"], 692, 904, [106, null]]]
+[[0, ["start", 1.334], 160, 100, [null, 20]],
+[1, ["random", 0], 258, 507, [7, 2, 3, null]],
+[2, ["number", 1], 319, 507, [1, null]],
+[3, ["number", 6], 319, 535, [1, null]],
+[4, ["random", 0], 258, 452, [7, 5, 6, null]],
+[5, ["number", 1], 319, 452, [4, null]],
+[6, ["number", 6], 319, 480, [4, null]],
+[7, ["plus2", 20], 222, 452, [75, 4, 1]],
+[8, ["storein", 0], 172, 562, [12, 93, 11, null]],
+[9, ["number", 1], 258, 618, [11, null]],
+[10, "box", 258, 590, [11, 95, null]],
+[11, ["plus2", 0], 222, 590, [8, 10, 9]],
+[12, ["vspace", 40], 172, 480, [75, 8]],
+[13, ["repeat", 122], 160, 396, [14, 23, 75, null]],
+[14, "hat", 160, 360, [null, 15, 13]],
+[15, ["string", "toss dice"], 200, 368, [14, null]],
+[16, "stack", 160, 215, [27, 17, 18]],
+[17, ["string", "toss dice"], 200, 215, [16, null]],
+[18, "stack", 160, 243, [16, 19, null]],
+[19, ["string", "plot results"], 200, 243, [18, null]],
+[20, ["storein", 0], 160, 131, [0, 21, 22, 27]],
+[21, ["string", "trials"], 210, 131, [20, null]],
+[22, ["number", 1600], 210, 159, [20, null]],
+[23, "box", 202, 396, [13, 24, null]],
+[24, ["string", "trials"], 239, 396, [23, null]],
+[25, "hat", 440, 420, [null, 26, 82]],
+[26, ["string", "clear bins"], 480, 428, [25, null]],
+[27, "stack", 160, 187, [20, 28, 16]],
+[28, ["string", "clear bins"], 200, 187, [27, null]],
+[29, ["storein", 0], 452, 540, [33, 85, 30, 107]],
+[30, ["number", 0], 502, 568, [29, null]],
+[31, ["number", 1], 926, 512, [32, null]],
+[32, ["plus2", 0], 890, 484, [80, 87, 31]],
+[33, ["repeat", 40], 440, 512, [82, 34, 29, null]],
+[34, ["number", 11], 482, 512, [33, null]],
+[35, "hat", 340, 20, [null, 36, 61]],
+[36, ["string", "plot results"], 380, 28, [35, null]],
+[37, "penup", 1080, 56, [101, 39]],
+[38, "pendown", 1080, 278, [68, 113]],
+[39, ["setxy2", 40], 1080, 84, [37, 41, 40, 65]],
+[40, ["number", 0], 1120, 166, [39, null]],
+[41, ["product2", 0], 1120, 84, [39, 44, 42]],
+[42, ["minus2", 0], 1156, 112, [41, 89, 43]],
+[43, ["number", 6], 1227, 140, [42, null]],
+[44, ["number", 50], 1156, 84, [41, null]],
+[45, ["repeat", 0], 340, 252, [77, 46, 103, 70]],
+[46, ["number", 11], 382, 252, [45, null]],
+[47, ["repeat", 59], 1080, 432, [56, 48, 49, 57]],
+[48, ["number", 2], 1122, 432, [47, null]],
+[49, "forward", 1092, 460, [47, 64, 50]],
+[50, "right", 1092, 488, [49, 51, 52]],
+[51, ["number", 90], 1131, 488, [50, null]],
+[52, "forward", 1092, 516, [50, 53, 54]],
+[53, ["number", 40], 1142, 516, [52, null]],
+[54, "right", 1092, 544, [52, 55, null]],
+[55, ["number", 90], 1131, 544, [54, null]],
+[56, "startfill", 1080, 404, [58, 47]],
+[57, "stopfill", 1080, 579, [47, 109]],
+[58, "setcolor", 1080, 376, [111, 60, 56]],
+[59, ["number", 10], 1172, 404, [60, null]],
+[60, ["product2", 0], 1136, 376, [58, 97, 59]],
+[61, "clean", 340, 56, [35, 115]],
+[62, "setshade", 340, 168, [115, 63, 77]],
+[63, ["number", 25], 403, 168, [62, null]],
+[64, "box", 1142, 460, [49, 99, null]],
+[65, "back", 1080, 194, [39, 66, 67]],
+[66, ["number", 100], 1119, 194, [65, null]],
+[67, "show", 1080, 222, [65, 91, 68]],
+[68, "forward", 1080, 250, [67, 69, 38]],
+[69, ["number", 100], 1130, 250, [68, null]],
+[70, "penup", 340, 319, [45, 72]],
+[71, "pendown", 340, 403, [72, null]],
+[72, ["setxy2", 0], 340, 347, [70, 73, 74, 71]],
+[73, ["number", 0], 380, 347, [72, null]],
+[74, ["number", -50], 380, 375, [72, null]],
+[75, ["storein", 0], 172, 424, [13, 76, 7, 12]],
+[76, ["string", "box"], 222, 424, [75, null]],
+[77, ["storein", 0], 340, 196, [62, 78, 79, 45]],
+[78, ["string", "box"], 390, 196, [77, null]],
+[79, ["number", 2], 390, 224, [77, null]],
+[80, ["storein", 0], 840, 456, [105, 81, 32, null]],
+[81, ["string", "box"], 890, 456, [80, null]],
+[82, ["storein", 0], 440, 456, [25, 83, 84, 33]],
+[83, ["string", "box"], 490, 456, [82, null]],
+[84, ["number", 2], 490, 484, [82, null]],
+[85, "box", 502, 540, [29, 86, null]],
+[86, ["string", "box"], 539, 540, [85, null]],
+[87, "box", 926, 484, [32, 88, null]],
+[88, ["string", "box"], 963, 484, [87, null]],
+[89, "box", 1211, 112, [42, 90, null]],
+[90, ["string", "box"], 1248, 112, [89, null]],
+[91, "box", 1119, 222, [67, 92, null]],
+[92, ["string", "box"], 1156, 222, [91, null]],
+[93, "box", 222, 562, [8, 94, null]],
+[94, ["string", "box"], 259, 562, [93, null]],
+[95, "box", 295, 590, [10, 96, null]],
+[96, ["string", "box"], 332, 590, [95, null]],
+[97, "box", 1172, 376, [60, 98, null]],
+[98, ["string", "box"], 1209, 376, [97, null]],
+[99, "box", 1179, 460, [64, 100, null]],
+[100, ["string", "box"], 1216, 460, [99, null]],
+[101, "hat", 1080, 20, [null, 102, 37]],
+[102, ["string", "bar graph"], 1120, 28, [101, null]],
+[103, "stack", 352, 280, [45, 104, null]],
+[104, ["string", "bar graph"], 392, 280, [103, null]],
+[105, "hat", 840, 420, [null, 106, 80]],
+[106, ["string", "next bin"], 880, 428, [105, null]],
+[107, "stack", 452, 596, [29, 108, null]],
+[108, ["string", "next bin"], 492, 596, [107, null]],
+[109, "stack", 1080, 607, [57, 110, null]],
+[110, ["string", "next bin"], 1120, 607, [109, null]],
+[111, "hat", 1080, 340, [null, 112, 58]],
+[112, ["string", "bar"], 1120, 348, [111, null]],
+[113, "stack", 1080, 306, [38, 114, null]],
+[114, ["string", "bar"], 1120, 306, [113, null]],
+[115, "fillscreen2", 340, 84, [61, 116, 118, 117, 62]],
+[116, ["number", 60], 402, 84, [115, null]],
+[117, ["number", 100], 402, 140, [115, null]],
+[118, "white", 402, 112, [115, null]]]
diff --git a/samples/math-snowflake.ta b/samples/math-snowflake.ta
new file mode 100644
index 0000000..90fa72c
--- /dev/null
+++ b/samples/math-snowflake.ta
@@ -0,0 +1,70 @@
+[[0, ["ifelse", [336, 0]],
+666, 244, [2, 1, 57, 5, null]],
+[1, ["greater2", 0], 722, 210, [0, 61, 12, null]],
+[2, ["vspace", 0], 666, 202, [40, 0]],
+[3, "left", 684, 478, [48, 4, 6]],
+[4, ["number", 60], 742, 478, [3, null]],
+[5, "forward", 684, 1042, [0, 65, null]],
+[6, "setcolor", 684, 520, [3, 29, 51]],
+[7, "right", 684, 646, [44, 8, 46]],
+[8, ["number", 120], 742, 646, [7, null]],
+[9, "setcolor", 684, 730, [46, 32, 37]],
+[10, "left", 684, 814, [37, 11, 53]],
+[11, ["number", 60], 742, 814, [10, null]],
+[12, ["number", 3], 792, 252, [1, null]],
+[13, "clean", 309, 221, [26, 14]],
+[14, "setpensize", 309, 263, [13, 15, 38]],
+[15, ["number", 3], 411, 263, [14, null]],
+[16, ["setxy2", 0], 309, 347, [38, 17, 18, 39]],
+[17, ["number", 364], 367, 347, [16, null]],
+[18, ["number", -210], 367, 389, [16, null]],
+[19, "left", 309, 473, [39, 20, 55]],
+[20, ["number", 90], 367, 473, [19, null]],
+[21, ["number", 729.0], 377, 557, [55, null]],
+[22, ["repeat", 21], 309, 599, [55, 23, 42, null]],
+[23, ["number", 3], 368, 599, [22, null]],
+[24, "right", 327, 683, [42, 25, null]],
+[25, ["number", 120], 385, 683, [24, null]],
+[26, ["start", 2.0], 309, 175, [null, 13]],
+[27, ["division2", 0], 752, 352, [57, 63, 28]],
+[28, ["number", 3], 830, 394, [27, null]],
+[29, ["plus2", 0], 761, 520, [6, 30, 31]],
+[30, "color", 815, 520, [29, null]],
+[31, ["number", 7], 815, 562, [29, null]],
+[32, ["minus2", 0], 761, 730, [9, 33, 34]],
+[33, "color", 815, 730, [32, null]],
+[34, ["number", 7], 839, 772, [32, null]],
+[35, ["product2", 0], 752, 940, [59, 67, 36]],
+[36, ["number", 3], 806, 982, [35, null]],
+[37, ["vspace", 0], 684, 772, [9, 10]],
+[38, "penup", 309, 305, [14, 16]],
+[39, "pendown", 309, 431, [16, 19]],
+[40, "hat", 666, 148, [null, 41, 2]],
+[41, ["string", "action"], 724, 160, [40, null]],
+[42, "stack", 327, 641, [22, 43, 24]],
+[43, ["string", "action"], 385, 641, [42, null]],
+[44, "stack", 684, 604, [51, 45, 7]],
+[45, ["string", "action"], 742, 604, [44, null]],
+[46, "stack", 684, 688, [7, 47, 9]],
+[47, ["string", "action"], 742, 688, [46, null]],
+[48, "stack", 684, 436, [50, 49, 3]],
+[49, ["string", "action"], 742, 436, [48, null]],
+[50, ["vspace", 0], 684, 394, [57, 48]],
+[51, ["vspace", 0], 684, 562, [6, 44]],
+[52, ["vspace", 0], 684, 982, [59, null]],
+[53, "stack", 684, 856, [10, 54, 59]],
+[54, ["string", "action"], 742, 856, [53, null]],
+[55, ["storein", 0], 309, 515, [19, 56, 21, 22]],
+[56, ["string", "my box"], 377, 515, [55, null]],
+[57, ["storein", 0], 684, 310, [0, 58, 27, 50]],
+[58, ["string", "my box"], 752, 310, [57, null]],
+[59, ["storein", 0], 684, 898, [53, 60, 35, 52]],
+[60, ["string", "my box"], 752, 898, [59, null]],
+[61, "box", 768, 210, [1, 62, null]],
+[62, ["string", "my box"], 823, 210, [61, null]],
+[63, "box", 806, 352, [27, 64, null]],
+[64, ["string", "my box"], 861, 352, [63, null]],
+[65, "box", 755, 1042, [5, 66, null]],
+[66, ["string", "my box"], 810, 1042, [65, null]],
+[67, "box", 806, 940, [35, 68, null]],
+[68, ["string", "my box"], 861, 940, [67, null]]]
diff --git a/samples/math-tree.ta b/samples/math-tree.ta
new file mode 100644
index 0000000..5993475
--- /dev/null
+++ b/samples/math-tree.ta
@@ -0,0 +1,94 @@
+[[0, "pendown", 838, 221, [58, 52]],
+[1, ["if", 0], 838, 305, [52, 2, 68, 72]],
+[2, ["greater2", 0], 894, 271, [1, 80, 3, null]],
+[3, ["number", 10], 964, 313, [2, null]],
+[4, ["random", 0], 906, 473, [72, 5, 35, null]],
+[5, ["number", 0], 992, 473, [4, null]],
+[6, ["if", 231], 838, 597, [53, 7, 8, null]],
+[7, ["equal2", 0], 894, 563, [6, 82, 34, null]],
+[8, "penup", 856, 663, [6, 9]],
+[9, "forward", 856, 705, [8, 50, 54]],
+[10, "setcolor", 856, 789, [54, 11, 12]],
+[11, ["number", 40], 933, 789, [10, null]],
+[12, "setpensize", 856, 831, [10, 13, 14]],
+[13, ["number", 20], 958, 831, [12, null]],
+[14, "forward", 856, 873, [12, 15, 16]],
+[15, ["number", 1], 927, 873, [14, null]],
+[16, "pendown", 856, 915, [14, 17]],
+[17, "back", 856, 957, [16, 18, 19]],
+[18, ["number", 1], 914, 957, [17, null]],
+[19, "setcolor", 856, 999, [17, 20, 21]],
+[20, ["number", 10], 933, 999, [19, null]],
+[21, "setpensize", 856, 1041, [19, 22, 23]],
+[22, ["number", 5], 958, 1041, [21, null]],
+[23, "penup", 856, 1083, [21, 24]],
+[24, "back", 856, 1125, [23, 48, null]],
+[25, "forward", 475, 219, [60, 76, 74]],
+[26, "right", 475, 387, [55, 27, 64]],
+[27, ["number", 30], 533, 387, [26, null]],
+[28, "left", 475, 471, [64, 29, 66]],
+[29, ["number", 60], 533, 471, [28, null]],
+[30, "right", 475, 555, [66, 31, 70]],
+[31, ["number", 30], 533, 555, [30, null]],
+[32, "penup", 475, 681, [70, 33]],
+[33, "back", 475, 723, [32, 86, null]],
+[34, ["number", 0], 940, 605, [7, null]],
+[35, ["number", 2], 992, 515, [4, null]],
+[36, "clean", 227, 224, [43, 56]],
+[37, ["setxy2", 0], 227, 308, [56, 38, 39, 57]],
+[38, ["number", 0], 285, 308, [37, null]],
+[39, ["number", -400], 285, 350, [37, null]],
+[40, ["number", 300.0], 295, 476, [92, null]],
+[41, "setcolor", 227, 518, [92, 42, 62]],
+[42, ["number", 10], 304, 518, [41, null]],
+[43, ["start", 2.0], 227, 178, [null, 36]],
+[44, ["product2", 0], 543, 639, [70, 84, 45]],
+[45, ["number", 1.5], 597, 681, [44, null]],
+[46, ["division2", 0], 543, 303, [74, 78, 47]],
+[47, ["number", 1.5], 621, 345, [46, null]],
+[48, ["division2", 0], 914, 1125, [24, 90, 49]],
+[49, ["number", 2], 992, 1167, [48, null]],
+[50, ["division2", 0], 927, 705, [9, 88, 51]],
+[51, ["number", 2], 1005, 747, [50, null]],
+[52, ["vspace", 0], 838, 263, [0, 1]],
+[53, ["vspace", 20], 838, 515, [72, 6]],
+[54, ["vspace", 0], 856, 747, [9, 10]],
+[55, ["vspace", 0], 475, 345, [74, 26]],
+[56, "penup", 227, 266, [36, 37]],
+[57, "pendown", 227, 392, [37, 92]],
+[58, "hat", 838, 167, [null, 59, 0]],
+[59, ["string", "action"], 896, 179, [58, null]],
+[60, "hat", 475, 165, [null, 61, 25]],
+[61, ["string", "action_2"], 533, 177, [60, null]],
+[62, "stack", 227, 560, [41, 63, null]],
+[63, ["string", "action"], 285, 560, [62, null]],
+[64, "stack", 475, 429, [26, 65, 28]],
+[65, ["string", "action"], 533, 429, [64, null]],
+[66, "stack", 475, 513, [28, 67, 30]],
+[67, ["string", "action"], 533, 513, [66, null]],
+[68, "stack", 856, 371, [1, 69, null]],
+[69, ["string", "action_2"], 914, 371, [68, null]],
+[70, ["storein", 0], 475, 597, [30, 71, 44, 32]],
+[71, ["string", "box 1"], 543, 597, [70, null]],
+[72, ["storein", 0], 838, 431, [1, 73, 4, 53]],
+[73, ["string", "box 2"], 906, 431, [72, null]],
+[74, ["storein", 0], 475, 261, [25, 75, 46, 55]],
+[75, ["string", "box 1"], 543, 261, [74, null]],
+[76, "box", 546, 219, [25, 77, null]],
+[77, ["string", "box 1"], 601, 219, [76, null]],
+[78, "box", 597, 303, [46, 79, null]],
+[79, ["string", "box 1"], 652, 303, [78, null]],
+[80, "box", 940, 271, [2, 81, null]],
+[81, ["string", "box 1"], 995, 271, [80, null]],
+[82, "box", 940, 563, [7, 83, null]],
+[83, ["string", "box 2"], 995, 563, [82, null]],
+[84, "box", 597, 639, [44, 85, null]],
+[85, ["string", "box 1"], 652, 639, [84, null]],
+[86, "box", 533, 723, [33, 87, null]],
+[87, ["string", "box 1"], 588, 723, [86, null]],
+[88, "box", 981, 705, [50, 89, null]],
+[89, ["string", "box 1"], 1036, 705, [88, null]],
+[90, "box", 968, 1125, [48, 91, null]],
+[91, ["string", "box 1"], 1023, 1125, [90, null]],
+[92, ["storein", 0], 227, 434, [57, 93, 40, 41]],
+[93, ["string", "box 1"], 295, 434, [92, null]]]
diff --git a/samples/media-music-dots.tb b/samples/media-music-dots.tb
new file mode 100644
index 0000000..19397e8
--- /dev/null
+++ b/samples/media-music-dots.tb
@@ -0,0 +1,61 @@
+[[0, ["start", 2.0], 160, 200, [null, 42]],
+[1, ["until", 63], 600, 254, [38, 22, 25, 46]],
+[2, ["forever", 230], 160, 288, [42, 40, null]],
+[3, "sinewave", 178, 656, [20, 36, 10, 4, 11]],
+[4, ["number", 0.33], 258, 740, [3, null]],
+[5, ["product2", 0], 392, 698, [10, 6, 7]],
+[6, ["number", 10000], 446, 698, [5, null]],
+[7, ["division2", 0], 446, 740, [5, 8, 34]],
+[8, ["number", 2093], 516, 740, [7, null]],
+[9, ["vspace", 20], 178, 532, [32, 20]],
+[10, ["identity2", 40], 258, 698, [3, 5]],
+[11, "wait", 178, 782, [3, 12, null]],
+[12, ["number", 0.33], 236, 782, [11, null]],
+[13, ["number", 1.06], 326, 532, [16, null]],
+[14, "comment", 178, 406, [18, 15, 32]],
+[15, ["string", "2^^(1/12) is factor between half-steps"], 261, 406, [14, null]],
+[16, ["myfunc2arg", 0], 246, 490, [32, 17, 13, 30, null]],
+[17, ["string", "130.81 * pow(x, y)"], 326, 490, [16, null]],
+[18, "comment", 178, 364, [40, 19, 14]],
+[19, ["string", "130.81 Hz is Low C"], 261, 364, [18, null]],
+[20, "comment", 178, 614, [9, 21, 3]],
+[21, ["string", "normalize volume by frequency"], 261, 614, [20, null]],
+[22, "mousebutton2", 656, 270, [1, null]],
+[23, "mousex", 676, 362, [27, null]],
+[24, "mousey", 676, 404, [27, null]],
+[25, "penup", 618, 320, [1, 27]],
+[26, "pendown", 618, 446, [27, null]],
+[27, ["setxy2", 0], 618, 362, [25, 23, 24, 26]],
+[28, ["storein", 0], 600, 632, [44, 29, 52, null]],
+[29, ["string", "note"], 668, 632, [28, null]],
+[30, "box", 326, 574, [16, 31, null]],
+[31, ["string", "note"], 381, 574, [30, null]],
+[32, ["storein", 0], 178, 448, [14, 33, 16, 9]],
+[33, ["string", "frequency"], 246, 448, [32, null]],
+[34, "box", 540, 782, [7, 35, null]],
+[35, ["string", "frequency"], 595, 782, [34, null]],
+[36, "box", 258, 656, [3, 37, null]],
+[37, ["string", "frequency"], 313, 656, [36, null]],
+[38, "hat", 600, 200, [null, 39, 1]],
+[39, ["string", "play"], 658, 212, [38, null]],
+[40, "stack", 178, 322, [2, 41, 18]],
+[41, ["string", "play"], 236, 322, [40, null]],
+[42, "setpensize", 160, 246, [0, 43, 2]],
+[43, ["number", 50.0], 262, 246, [42, null]],
+[44, "forward", 600, 590, [50, 45, 28]],
+[45, ["number", 1.0], 671, 590, [44, null]],
+[46, "setcolor", 600, 506, [1, 47, 50]],
+[47, ["random", 0], 677, 506, [46, 48, 49, null]],
+[48, ["number", 0], 763, 506, [47, null]],
+[49, ["number", 100], 763, 548, [47, null]],
+[50, ["vspace", 0], 600, 548, [46, 44]],
+[51, "xcor", 846, 674, [55, null]],
+[52, "int", 668, 674, [28, 54]],
+[53, ["number", 12.0], 910, 838, [56, null]],
+[54, ["division2", 40], 722, 674, [52, 55, 56]],
+[55, ["plus2", 0], 792, 674, [54, 51, 59]],
+[56, ["division2", 0], 816, 796, [54, 57, 53]],
+[57, "width", 886, 796, [56, null]],
+[58, "width", 916, 716, [59, null]],
+[59, ["division2", 0], 846, 716, [55, 58, 60]],
+[60, ["number", 2.0], 940, 758, [59, null]]]
diff --git a/samples/media-music-keyboard.tb b/samples/media-music-keyboard.tb
new file mode 100644
index 0000000..a525d33
--- /dev/null
+++ b/samples/media-music-keyboard.tb
@@ -0,0 +1,130 @@
+[[0, ["start", 2.0], 160, 200, [null, 110]],
+[1, ["until", 63], 600, 254, [38, 22, 25, 28]],
+[2, ["forever", 230], 160, 330, [112, 40, null]],
+[3, "sinewave", 178, 698, [20, 36, 10, 4, 11]],
+[4, ["number", 0.33], 258, 782, [3, null]],
+[5, ["product2", 0], 392, 740, [10, 6, 7]],
+[6, ["number", 10000], 446, 740, [5, null]],
+[7, ["division2", 0], 446, 782, [5, 8, 34]],
+[8, ["number", 2093], 516, 782, [7, null]],
+[9, ["vspace", 20], 178, 574, [32, 20]],
+[10, ["identity2", 40], 258, 740, [3, 5]],
+[11, "wait", 178, 824, [3, 12, null]],
+[12, ["number", 0.33], 236, 824, [11, null]],
+[13, ["number", 1.06], 326, 574, [16, null]],
+[14, "comment", 178, 448, [18, 15, 32]],
+[15, ["string", "2^^(1/12) is factor between half-steps"], 261, 448, [14, null]],
+[16, ["myfunc2arg", 0], 246, 532, [32, 17, 13, 30, null]],
+[17, ["string", "130.81 * pow(x, y)"], 326, 532, [16, null]],
+[18, "comment", 178, 406, [40, 19, 14]],
+[19, ["string", "130.81 Hz is Low C"], 261, 406, [18, null]],
+[20, "comment", 178, 656, [9, 21, 3]],
+[21, ["string", "normalize volume by frequency"], 261, 656, [20, null]],
+[22, "mousebutton2", 656, 270, [1, null]],
+[23, "mousex", 676, 362, [27, null]],
+[24, "mousey", 676, 404, [27, null]],
+[25, "penup", 618, 320, [1, 27]],
+[26, "pendown", 618, 446, [27, null]],
+[27, ["setxy2", 0], 618, 362, [25, 23, 24, 26]],
+[28, ["storein", 0], 600, 506, [1, 29, 82, null]],
+[29, ["string", "note"], 668, 506, [28, null]],
+[30, "box", 326, 616, [16, 31, null]],
+[31, ["string", "note"], 381, 616, [30, null]],
+[32, ["storein", 0], 178, 490, [14, 33, 16, 9]],
+[33, ["string", "frequency"], 246, 490, [32, null]],
+[34, "box", 540, 824, [7, 35, null]],
+[35, ["string", "frequency"], 595, 824, [34, null]],
+[36, "box", 258, 698, [3, 37, null]],
+[37, ["string", "frequency"], 313, 698, [36, null]],
+[38, "hat", 600, 200, [null, 39, 1]],
+[39, ["string", "paint"], 658, 212, [38, null]],
+[40, "stack", 178, 364, [2, 41, 18]],
+[41, ["string", "paint"], 236, 364, [40, null]],
+[42, ["repeat", 229], 853, 421, [58, 43, 44, 48]],
+[43, ["number", 8], 912, 421, [42, null]],
+[44, "penup", 871, 463, [42, 50]],
+[45, "pendown", 871, 589, [50, 86]],
+[46, "hat", 1431, 128, [null, 47, 67]],
+[47, ["string", "white key"], 1489, 140, [46, null]],
+[48, "setcolor", 853, 981, [42, 49, 87]],
+[49, "black", 930, 981, [48, null]],
+[50, ["setxy2", 0], 871, 505, [44, 59, 53, 45]],
+[51, "stack", 871, 715, [80, 52, 81]],
+[52, ["string", "white key"], 929, 715, [51, null]],
+[53, "bottompos", 929, 547, [50, null]],
+[54, "leftpos", 911, 295, [56, null]],
+[55, "bottompos", 911, 337, [56, null]],
+[56, ["setxy2", 0], 853, 295, [57, 54, 55, 58]],
+[57, "penup", 853, 253, [83, 56]],
+[58, "pendown", 853, 379, [56, 42]],
+[59, "xcor", 929, 505, [50, null]],
+[60, ["setxy2", 40], 871, 799, [81, 63, 62, null]],
+[61, "xcor", 983, 799, [63, null]],
+[62, "ycor", 929, 921, [60, null]],
+[63, ["plus2", 0], 929, 799, [60, 61, 65]],
+[64, ["number", 8], 1077, 883, [65, null]],
+[65, ["division2", 0], 983, 841, [63, 66, 64]],
+[66, "width", 1053, 841, [65, null]],
+[67, ["repeat", 84], 1431, 182, [46, 68, 69, null]],
+[68, ["number", 2], 1490, 182, [67, null]],
+[69, "forward", 1449, 224, [67, 70, 71]],
+[70, "height", 1520, 224, [69, null]],
+[71, "right", 1449, 266, [69, 72, 73]],
+[72, ["number", 90], 1507, 266, [71, null]],
+[73, "forward", 1449, 308, [71, 74, 77]],
+[74, ["division2", 0], 1520, 308, [73, 75, 76]],
+[75, "width", 1590, 308, [74, null]],
+[76, ["number", 8], 1614, 350, [74, null]],
+[77, ["vspace", 0], 1449, 350, [73, 78]],
+[78, "right", 1449, 392, [77, 79, null]],
+[79, ["number", 90], 1507, 392, [78, null]],
+[80, "startfill", 871, 673, [86, 51]],
+[81, "stopfill", 871, 757, [51, 60]],
+[82, "see", 668, 548, [28, null]],
+[83, "hat", 853, 199, [null, 84, 57]],
+[84, ["string", "draw keyboard"], 911, 211, [83, null]],
+[85, "pop", 948, 631, [86, null]],
+[86, "setcolor", 871, 631, [45, 85, 80]],
+[87, "penup", 853, 1023, [48, 88]],
+[88, ["setxy2", 0], 853, 1065, [87, 89, 90, 91]],
+[89, "leftpos", 911, 1065, [88, null]],
+[90, "bottompos", 911, 1107, [88, null]],
+[91, "pendown", 853, 1149, [88, 92]],
+[92, ["repeat", 166], 853, 1191, [91, 93, 94, null]],
+[93, ["number", 8], 912, 1191, [92, null]],
+[94, "penup", 871, 1233, [92, 95]],
+[95, ["setxy2", 0], 871, 1275, [94, 96, 97, 98]],
+[96, "xcor", 929, 1275, [95, null]],
+[97, "bottompos", 929, 1317, [95, null]],
+[98, "pendown", 871, 1359, [95, 99]],
+[99, "stack", 871, 1401, [98, 100, 101]],
+[100, ["string", "white key"], 929, 1401, [99, null]],
+[101, ["setxy2", 40], 871, 1443, [99, 102, 107, null]],
+[102, ["plus2", 0], 929, 1443, [101, 103, 104]],
+[103, "xcor", 983, 1443, [102, null]],
+[104, ["division2", 0], 983, 1485, [102, 105, 106]],
+[105, "width", 1053, 1485, [104, null]],
+[106, ["number", 8], 1077, 1527, [104, null]],
+[107, "ycor", 929, 1565, [101, null]],
+[108, "hat", 1096, 195, [null, 109, 114]],
+[109, ["string", "select notes"], 1154, 207, [108, null]],
+[110, "stack", 160, 246, [0, 111, 112]],
+[111, ["string", "select notes"], 218, 246, [110, null]],
+[112, "stack", 160, 288, [110, 113, 2]],
+[113, ["string", "draw keyboard"], 218, 288, [112, null]],
+[114, "push", 1096, 249, [108, 115, 116]],
+[115, ["number", 36.0], 1154, 249, [114, null]],
+[116, "push", 1096, 291, [114, 117, 118]],
+[117, ["number", 35.0], 1154, 291, [116, null]],
+[118, "push", 1096, 333, [116, 119, 120]],
+[119, ["number", 33.0], 1154, 333, [118, null]],
+[120, "push", 1096, 375, [118, 121, 122]],
+[121, ["number", 31.0], 1154, 375, [120, null]],
+[122, "push", 1096, 417, [120, 123, 124]],
+[123, ["number", 29.0], 1154, 417, [122, null]],
+[124, "push", 1096, 459, [122, 125, 126]],
+[125, ["number", 28.0], 1154, 459, [124, null]],
+[126, "push", 1096, 501, [124, 127, 128]],
+[127, ["number", 26.0], 1154, 501, [126, null]],
+[128, "push", 1096, 543, [126, 129, null]],
+[129, ["number", 24], 1154, 543, [128, null]]]
diff --git a/samples/media-music.tb b/samples/media-music.tb
new file mode 100644
index 0000000..7aa39bf
--- /dev/null
+++ b/samples/media-music.tb
@@ -0,0 +1,176 @@
+[[0, ["start", 2.0], 195, 195, [null, null]],
+[1, "hat", 0, 0, [null, 175, 12]],
+[2, ["until", 21], 740, 548, [10, 3, 6, null]],
+[3, ["greater2", 0], 796, 514, [2, 4, 5, null]],
+[4, "keyboard", 852, 514, [3, null]],
+[5, ["number", 0], 876, 556, [3, null]],
+[6, "wait", 758, 614, [2, 7, 8]],
+[7, ["number", 0.1], 816, 614, [6, null]],
+[8, "kbinput", 758, 656, [6, null]],
+[9, ["forever", 292], 0, 96, [12, 16, null]],
+[10, ["vspace", 0], 740, 506, [15, 2]],
+[11, "hat1", 740, 0, [null, 20]],
+[12, "stack1", 0, 54, [1, 9]],
+[13, "sinewave", 36, 528, [173, 70, 52, 14, 57]],
+[14, ["number", 0.33], 116, 612, [13, null]],
+[15, "hat2", 740, 460, [null, 10]],
+[16, "stack2", 18, 130, [9, 75]],
+[17, ["repeat", 42], 740, 88, [20, 18, 25, 19]],
+[18, ["number", 256], 799, 88, [17, null]],
+[19, ["vspace", 40], 740, 274, [17, 29]],
+[20, "storeinbox1", 740, 46, [11, 21, 17]],
+[21, ["number", 0], 858, 46, [20, null]],
+[22, "box1", 930, 214, [28, null]],
+[23, "storeinbox1", 758, 214, [25, 28, null]],
+[24, ["number", 1], 930, 256, [28, null]],
+[25, ["storein", 0], 758, 130, [17, 61, 26, 23]],
+[26, ["number", 0], 826, 172, [25, null]],
+[27, "box1", 880, 130, [61, null]],
+[28, ["plus2", 0], 876, 214, [23, 22, 24]],
+[29, "stack", 740, 396, [19, 30, 31]],
+[30, ["string", "12345678"], 798, 396, [29, null]],
+[31, "stack", 740, 438, [29, 32, 33]],
+[32, ["string", "qwertyui"], 798, 438, [31, null]],
+[33, "stack", 740, 480, [31, 34, 35]],
+[34, ["string", "asdfghjk"], 798, 480, [33, null]],
+[35, "stack", 740, 522, [33, 36, null]],
+[36, ["string", "zxcvbnm,"], 798, 522, [35, null]],
+[37, "hat", 1028, 329, [null, 38, 123]],
+[38, ["string", "qwertyui"], 1086, 341, [37, null]],
+[39, "hat", 1083, 80, [null, 40, 148]],
+[40, ["string", "12345678"], 1141, 92, [39, null]],
+[41, "hat", 1096, 433, [null, 42, 98]],
+[42, ["string", "asdfghjk"], 1154, 445, [41, null]],
+[43, "hat", 1101, 202, [null, 44, 45]],
+[44, ["string", "zxcvbnm,"], 1159, 214, [43, null]],
+[45, "sandwichclampcollapsed", 1101, 256, [43, 72, null]],
+[46, ["product2", 0], 250, 570, [52, 47, 48]],
+[47, ["number", 10000], 304, 570, [46, null]],
+[48, ["division2", 0], 304, 612, [46, 49, 69]],
+[49, ["number", 2093], 374, 612, [48, null]],
+[50, ["if", 105], 18, 420, [51, 53, 173, null]],
+[51, ["vspace", 40], 18, 298, [67, 50]],
+[52, ["identity2", 40], 116, 570, [13, 46]],
+[53, ["greater2", 0], 74, 386, [50, 71, 54, null]],
+[54, ["number", 0], 154, 428, [53, null]],
+[55, "keyboard", 325, 340, [60, null]],
+[56, "box", 216, 340, [65, 60, null]],
+[57, "print", 36, 654, [13, 68, 58]],
+[58, "wait", 36, 696, [57, 59, null]],
+[59, ["number", 0.33], 94, 696, [58, null]],
+[60, "chr", 271, 340, [56, 55]],
+[61, "chr", 826, 130, [25, 27]],
+[62, ["number", 1.06], 216, 298, [65, null]],
+[63, "comment", 18, 214, [75, 64, 67]],
+[64, ["string", "2^^(1/12) is factor between half-steps"], 101, 214, [63, null]],
+[65, ["myfunc2arg", 0], 136, 256, [67, 66, 62, 56, null]],
+[66, ["string", "130.81 * pow(x, y)"], 216, 256, [65, null]],
+[67, "storeinbox2", 18, 256, [63, 65, 51]],
+[68, "box2", 94, 654, [57, null]],
+[69, "box2", 398, 654, [48, null]],
+[70, "box2", 116, 528, [13, null]],
+[71, "box2", 130, 386, [53, null]],
+[72, ["storein", 0], 1119, 290, [45, 73, 74, 77]],
+[73, ["string", "z"], 1187, 290, [72, null]],
+[74, ["number", 0], 1187, 332, [72, null]],
+[75, "comment", 18, 172, [16, 76, 63]],
+[76, ["string", "130.81 Hz is Low C"], 101, 172, [75, null]],
+[77, ["storein", 0], 1119, 374, [72, 78, 79, 80]],
+[78, ["string", "x"], 1187, 374, [77, null]],
+[79, ["number", 2], 1187, 416, [77, null]],
+[80, ["storein", 0], 1119, 458, [77, 81, 82, 83]],
+[81, ["string", "c"], 1187, 458, [80, null]],
+[82, ["number", 4], 1187, 500, [80, null]],
+[83, ["storein", 0], 1119, 542, [80, 84, 85, 86]],
+[84, ["string", "v"], 1187, 542, [83, null]],
+[85, ["number", 5], 1187, 584, [83, null]],
+[86, ["storein", 0], 1119, 626, [83, 87, 88, 89]],
+[87, ["string", "b"], 1187, 626, [86, null]],
+[88, ["number", 7], 1187, 668, [86, null]],
+[89, ["storein", 0], 1119, 710, [86, 90, 91, 92]],
+[90, ["string", "n"], 1187, 710, [89, null]],
+[91, ["number", 9], 1187, 752, [89, null]],
+[92, ["storein", 0], 1119, 794, [89, 93, 94, 95]],
+[93, ["string", "m"], 1187, 794, [92, null]],
+[94, ["number", 11], 1187, 836, [92, null]],
+[95, ["storein", 0], 1119, 878, [92, 96, 97, null]],
+[96, ["string", ","], 1187, 878, [95, null]],
+[97, ["number", 12], 1187, 920, [95, null]],
+[98, "sandwichclampcollapsed", 1096, 487, [41, 99, null]],
+[99, ["storein", 0], 1114, 521, [98, 100, 101, 102]],
+[100, ["string", "a"], 1182, 521, [99, null]],
+[101, ["number", 12], 1182, 563, [99, null]],
+[102, ["storein", 0], 1114, 605, [99, 103, 104, 105]],
+[103, ["string", "s"], 1182, 605, [102, null]],
+[104, ["number", 14], 1182, 647, [102, null]],
+[105, ["storein", 0], 1114, 689, [102, 106, 107, 108]],
+[106, ["string", "d"], 1182, 689, [105, null]],
+[107, ["number", 16], 1182, 731, [105, null]],
+[108, ["storein", 0], 1114, 773, [105, 109, 110, 111]],
+[109, ["string", "f"], 1182, 773, [108, null]],
+[110, ["number", 17], 1182, 815, [108, null]],
+[111, ["storein", 0], 1114, 857, [108, 112, 113, 114]],
+[112, ["string", "g"], 1182, 857, [111, null]],
+[113, ["number", 19], 1182, 899, [111, null]],
+[114, ["storein", 0], 1114, 941, [111, 115, 116, 117]],
+[115, ["string", "h"], 1182, 941, [114, null]],
+[116, ["number", 21], 1182, 983, [114, null]],
+[117, ["storein", 0], 1114, 1025, [114, 118, 119, 120]],
+[118, ["string", "j"], 1182, 1025, [117, null]],
+[119, ["number", 23], 1182, 1067, [117, null]],
+[120, ["storein", 0], 1114, 1109, [117, 121, 122, null]],
+[121, ["string", "k"], 1182, 1109, [120, null]],
+[122, ["number", 24], 1182, 1151, [120, null]],
+[123, "sandwichclampcollapsed", 1028, 383, [37, 124, null]],
+[124, ["storein", 0], 1046, 417, [123, 125, 126, 127]],
+[125, ["string", "q"], 1114, 417, [124, null]],
+[126, ["number", 24], 1114, 459, [124, null]],
+[127, ["storein", 0], 1046, 501, [124, 128, 129, 130]],
+[128, ["string", "w"], 1114, 501, [127, null]],
+[129, ["number", 26], 1114, 543, [127, null]],
+[130, ["storein", 0], 1046, 585, [127, 131, 132, 133]],
+[131, ["string", "e"], 1114, 585, [130, null]],
+[132, ["number", 28], 1114, 627, [130, null]],
+[133, ["storein", 0], 1046, 669, [130, 134, 135, 136]],
+[134, ["string", "r"], 1114, 669, [133, null]],
+[135, ["number", 29], 1114, 711, [133, null]],
+[136, ["storein", 0], 1046, 753, [133, 137, 138, 139]],
+[137, ["string", "t"], 1114, 753, [136, null]],
+[138, ["number", 31], 1114, 795, [136, null]],
+[139, ["storein", 0], 1046, 837, [136, 140, 141, 142]],
+[140, ["string", "y"], 1114, 837, [139, null]],
+[141, ["number", 33], 1114, 879, [139, null]],
+[142, ["storein", 0], 1046, 921, [139, 143, 144, 145]],
+[143, ["string", "u"], 1114, 921, [142, null]],
+[144, ["number", 35], 1114, 963, [142, null]],
+[145, ["storein", 0], 1046, 1005, [142, 146, 147, null]],
+[146, ["string", "i"], 1114, 1005, [145, null]],
+[147, ["number", 36], 1114, 1047, [145, null]],
+[148, "sandwichclampcollapsed", 1083, 134, [39, 149, null]],
+[149, ["storein", 0], 1101, 168, [148, 150, 151, 152]],
+[150, ["string", "1"], 1169, 168, [149, null]],
+[151, ["number", 36], 1169, 210, [149, null]],
+[152, ["storein", 0], 1101, 252, [149, 153, 154, 155]],
+[153, ["string", "2"], 1169, 252, [152, null]],
+[154, ["number", 38], 1169, 294, [152, null]],
+[155, ["storein", 0], 1101, 336, [152, 156, 157, 158]],
+[156, ["string", "3"], 1169, 336, [155, null]],
+[157, ["number", 40], 1169, 378, [155, null]],
+[158, ["storein", 0], 1101, 420, [155, 159, 160, 161]],
+[159, ["string", "4"], 1169, 420, [158, null]],
+[160, ["number", 41], 1169, 462, [158, null]],
+[161, ["storein", 0], 1101, 504, [158, 162, 163, 164]],
+[162, ["string", "5"], 1169, 504, [161, null]],
+[163, ["number", 43], 1169, 546, [161, null]],
+[164, ["storein", 0], 1101, 588, [161, 165, 166, 167]],
+[165, ["string", "6"], 1169, 588, [164, null]],
+[166, ["number", 45], 1169, 630, [164, null]],
+[167, ["storein", 0], 1101, 672, [164, 168, 169, 170]],
+[168, ["string", "7"], 1169, 672, [167, null]],
+[169, ["number", 47], 1169, 714, [167, null]],
+[170, ["storein", 0], 1101, 756, [167, 171, 172, null]],
+[171, ["string", "8"], 1169, 756, [170, null]],
+[172, ["number", 48], 1169, 798, [170, null]],
+[173, "comment", 36, 486, [50, 174, 13]],
+[174, ["string", "normalize volume by frequency"], 119, 486, [173, null]],
+[175, ["string", "start"], 58, 12, [1, null]]]
diff --git a/samples/sensors-loudness-monitor.ta b/samples/sensors-loudness-monitor.ta
index 7bb0b5f..d9b6553 100644
--- a/samples/sensors-loudness-monitor.ta
+++ b/samples/sensors-loudness-monitor.ta
@@ -1,74 +1,78 @@
-[[0, ["start", 2.0], 1217, 22, [null, 11]],
-[1, ["setxy2", 20], 1434, 84, [8, 3, 6, 46]],
-[2, "bottompos", 1546, 166, [6, null]],
-[3, "random", 1492, 84, [1, 4, 5, null]],
-[4, "leftpos", 1578, 84, [3, null]],
-[5, "rightpos", 1578, 126, [3, null]],
-[6, ["plus2", 0], 1492, 166, [1, 2, 7]],
-[7, ["number", 100], 1546, 208, [6, null]],
-[8, "penup", 1434, 42, [10, 1]],
-[9, "pendown", 1434, 250, [46, 52]],
-[10, "hat1", 1434, 0, [null, 8]],
-[11, "stack1", 1217, 64, [0, 12]],
-[12, "stack2", 1217, 106, [11, null]],
-[13, "hat2", 833, 0, [null, 14]],
-[14, "forever", 833, 42, [13, 38, 15]],
-[15, ["vspace", 0], 833, 78, [14, null]],
-[16, "storeinbox1", 894, 312, [71, 17, 40]],
-[17, "volume", 1012, 312, [16, null]],
-[18, "storeinbox1", 1434, 460, [47, 19, 42]],
-[19, ["number", 0.0], 1552, 460, [18, null]],
-[20, "forward", 1224, 433, [28, 27, 21]],
-[21, "right", 1224, 475, [20, 22, 23]],
-[22, ["number", 90], 1282, 475, [21, null]],
-[23, "forward", 1224, 517, [21, 24, 25]],
-[24, ["number", 25.0], 1294, 517, [23, null]],
-[25, "right", 1224, 559, [23, 26, null]],
-[26, ["number", 90], 1282, 559, [25, null]],
-[27, "box1", 1294, 433, [20, null]],
-[28, "repeat", 1160, 373, [50, 29, 20, 51]],
-[29, ["number", 2.0], 1210, 373, [28, null]],
-[30, "hat", 1160, 281, [null, 31, 50]],
-[31, ["string", "bar"], 1219, 289, [30, null]],
-[32, "stack", 894, 102, [38, 33, 64]],
-[33, ["string", "bar"], 953, 102, [32, null]],
-[34, "stack", 894, 396, [40, 35, 36]],
-[35, ["string", "bar"], 953, 396, [34, null]],
-[36, "wait", 894, 438, [34, 37, 62]],
-[37, ["number", 0.5], 952, 438, [36, null]],
-[38, "setcolor", 894, 60, [14, 39, 32]],
-[39, "white", 972, 60, [38, null]],
-[40, "setcolor", 894, 354, [16, 41, 34]],
-[41, "box2", 972, 354, [40, null]],
-[42, "storeinbox2", 1434, 502, [18, 43, null]],
-[43, "random", 1552, 502, [42, 44, 45, null]],
-[44, ["number", 0], 1638, 502, [43, null]],
-[45, ["number", 100], 1638, 544, [43, null]],
-[46, ["vspace", 0], 1434, 208, [1, 9]],
-[47, ["fillscreen", 0], 1434, 376, [52, 48, 49, 18]],
-[48, ["number", 60], 1520, 376, [47, null]],
-[49, "white", 1520, 418, [47, null]],
-[50, "startfill", 1160, 331, [30, 28]],
-[51, "stopfill", 1160, 451, [28, null]],
-[52, ["storein", 0], 1434, 292, [9, 53, 54, 47]],
-[53, ["string", "max"], 1503, 292, [52, null]],
-[54, ["number", 0.0], 1503, 334, [52, null]],
-[55, "box", 1002, 530, [63, 56, null]],
-[56, ["string", "max"], 1056, 530, [55, null]],
-[57, ["storein", 0], 946, 590, [61, 58, 59, null]],
-[58, ["string", "max"], 1015, 590, [57, null]],
-[59, "box1", 1015, 632, [57, null]],
-[60, "box1", 978, 488, [63, null]],
-[61, "if", 894, 522, [62, 63, 57, null]],
-[62, ["vspace", 0], 894, 480, [36, 61]],
-[63, ["greater2", 0], 932, 488, [61, 60, 55, null]],
-[64, "setcolor", 894, 144, [32, 67, 73]],
-[65, ["number", 50.0], 1026, 186, [67, null]],
-[66, "color", 1026, 144, [67, null]],
-[67, ["plus2", 0], 972, 144, [64, 66, 65]],
-[68, "storeinbox1", 894, 228, [73, 69, 71]],
-[69, "box", 1012, 228, [68, 70, null]],
-[70, ["string", "max"], 1066, 228, [69, null]],
-[71, "stack", 894, 270, [68, 72, 16]],
-[72, ["string", "bar"], 953, 270, [71, null]],
-[73, ["vspace", 0], 894, 186, [64, 68]]]
+[[0, ["start", 2.0], 967, 78, [null, 76]],
+[1, ["setxy2", 0], 1184, 169, [5, 77, 3, 41]],
+[2, "bottompos", 1296, 211, [3, null]],
+[3, ["plus2", 0], 1242, 211, [1, 2, 4]],
+[4, ["number", 100], 1296, 253, [3, null]],
+[5, "penup", 1184, 127, [7, 1]],
+[6, "pendown", 1184, 295, [41, 47]],
+[7, "hat1", 1184, 81, [null, 5]],
+[8, "stack1", 967, 250, [69, 9]],
+[9, "stack2", 967, 292, [8, null]],
+[10, "hat2", 602, 73, [null, 11]],
+[11, ["forever", 315], 602, 119, [10, 34, null]],
+[12, "storeinbox1", 620, 405, [66, 73, 75]],
+[13, "volume", 808, 405, [73, null]],
+[14, "storeinbox1", 1184, 505, [42, 15, 37]],
+[15, ["number", 0], 1302, 505, [14, null]],
+[16, "forward", 289, 397, [24, 23, 17]],
+[17, "right", 289, 439, [16, 18, 19]],
+[18, ["number", 90], 347, 439, [17, null]],
+[19, "forward", 289, 481, [17, 20, 21]],
+[20, ["number", 25], 360, 481, [19, null]],
+[21, "right", 289, 523, [19, 22, null]],
+[22, ["number", 90], 347, 523, [21, null]],
+[23, "box1", 360, 397, [16, null]],
+[24, ["repeat", 63], 271, 355, [45, 25, 16, 46]],
+[25, ["number", 2], 330, 355, [24, null]],
+[26, "hat", 271, 259, [null, 27, 45]],
+[27, ["string", "bar"], 329, 271, [26, null]],
+[28, "stack", 620, 195, [34, 29, 59]],
+[29, ["string", "bar"], 678, 195, [28, null]],
+[30, "stack", 620, 531, [35, 31, 32]],
+[31, ["string", "bar"], 678, 531, [30, null]],
+[32, "wait", 620, 573, [30, 33, 57]],
+[33, ["number", 0.1], 678, 573, [32, null]],
+[34, "setcolor", 620, 153, [11, 72, 28]],
+[35, "setcolor", 620, 489, [75, 36, 30]],
+[36, "box2", 697, 489, [35, null]],
+[37, "storeinbox2", 1184, 547, [14, 38, null]],
+[38, ["random", 0], 1302, 547, [37, 39, 40, null]],
+[39, ["number", 0], 1388, 547, [38, null]],
+[40, ["number", 100], 1388, 589, [38, null]],
+[41, ["vspace", 0], 1184, 253, [1, 6]],
+[42, ["fillscreen", 0], 1184, 421, [47, 43, 44, 14]],
+[43, ["number", 60], 1266, 421, [42, null]],
+[44, "white", 1266, 463, [42, null]],
+[45, "startfill", 271, 313, [26, 24]],
+[46, "stopfill", 271, 583, [24, null]],
+[47, ["storein", 0], 1184, 337, [6, 48, 49, 42]],
+[48, ["string", "max"], 1252, 337, [47, null]],
+[49, ["number", 0], 1252, 379, [47, null]],
+[50, "box", 756, 665, [58, 51, null]],
+[51, ["string", "max"], 811, 665, [50, null]],
+[52, ["storein", 0], 638, 723, [56, 53, 54, null]],
+[53, ["string", "max"], 706, 723, [52, null]],
+[54, "box1", 706, 765, [52, null]],
+[55, "box1", 732, 623, [58, null]],
+[56, ["if", 21], 620, 657, [57, 58, 52, null]],
+[57, ["vspace", 0], 620, 615, [32, 56]],
+[58, ["greater2", 0], 676, 623, [56, 55, 50, null]],
+[59, "setcolor", 620, 237, [28, 62, 68]],
+[60, ["number", 50], 751, 279, [62, null]],
+[61, "color", 751, 237, [62, null]],
+[62, ["plus2", 0], 697, 237, [59, 61, 60]],
+[63, "storeinbox1", 620, 321, [68, 64, 66]],
+[64, "box", 738, 321, [63, 65, null]],
+[65, ["string", "max"], 793, 321, [64, null]],
+[66, "stack", 620, 363, [63, 67, 12]],
+[67, ["string", "bar"], 678, 363, [66, null]],
+[68, ["vspace", 0], 620, 279, [59, 63]],
+[69, ["storein", 0], 967, 166, [76, 70, 71, 8]],
+[70, ["string", "my box_1"], 1035, 166, [69, null]],
+[71, ["number", 0.0], 1035, 208, [69, null]],
+[72, "red", 697, 153, [34, null]],
+[73, ["division2", 0], 738, 405, [12, 13, 74]],
+[74, ["number", 10.0], 832, 447, [73, null]],
+[75, ["vspace", 0], 620, 447, [12, 35]],
+[76, "clean", 967, 124, [0, 69]],
+[77, ["number", 0.0], 1242, 169, [1, null]]]
diff --git a/samples/sensors-psuedo-color.ta b/samples/sensors-psuedo-color.ta
index ab7284b..c5c8b97 100644
--- a/samples/sensors-psuedo-color.ta
+++ b/samples/sensors-psuedo-color.ta
@@ -1,6 +1,6 @@
[[0, ["start", 2.0], 165, 175, [null, 30]],
[1, "show", 165, 385, [24, 2, 6]],
-[2, ["journal", "/tmp/turtlepic.jpg"], 223, 385, [1, null]],
+[2, ["journal", "./samples/images/me.jpg"], 223, 385, [1, null]],
[3, "see", 367, 797, [15, null]],
[4, "repeat", 165, 553, [27, 5, 10, null]],
[5, ["number", 200], 213, 553, [4, null]],
diff --git a/samples/sensors-record.tb b/samples/sensors-record.tb
new file mode 100644
index 0000000..746b677
--- /dev/null
+++ b/samples/sensors-record.tb
@@ -0,0 +1,113 @@
+[[0, ["start", 2.0], 620, 80, [null, 71]],
+[1, ["forever", 228], 620, 168, [71, 3, null]],
+[2, "mousebutton2", 694, 218, [3, null]],
+[3, ["ifelse", [135, 0]],
+638, 202, [1, 2, 111, 4, 72]],
+[4, "penup", 656, 598, [3, null]],
+[5, "pendown", 656, 538, [111, null]],
+[6, ["setxy2", 0], 621, 668, [72, 8, 7, 58]],
+[7, "mousey", 679, 710, [6, null]],
+[8, "mousex", 679, 668, [6, null]],
+[9, "hat", 940, 320, [null, 10, 68]],
+[10, ["string", "record point"], 998, 332, [9, null]],
+[11, "stack", 674, 334, [111, 12, null]],
+[12, ["string", "record point"], 732, 334, [11, null]],
+[13, ["loadblock3arg", 0], 923, 426, [88, 14, 15, 16, 80]],
+[14, ["string", "set xy"], 981, 426, [13, null]],
+[15, "mousex", 981, 468, [13, null]],
+[16, "mousey", 981, 510, [13, null]],
+[17, ["storein", 0], 638, 328, [55, 18, 92, 19]],
+[18, ["string", "x"], 706, 328, [17, null]],
+[19, ["storein", 0], 638, 412, [17, 20, 73, null]],
+[20, ["string", "y"], 706, 412, [19, null]],
+[21, ["number", 22], 520, -2636, [null, null]],
+[22, ["number", 99], 520, -2468, [null, null]],
+[23, "hat", 940, 80, [null, 24, 70]],
+[24, ["string", "record pendown"], 998, 92, [23, null]],
+[25, "penup", 923, 504, [108, 26]],
+[26, ["setxy2", 0], 923, 546, [25, 27, 29, null]],
+[27, "box", 981, 546, [26, 28, null]],
+[28, ["string", "x"], 1036, 546, [27, null]],
+[29, "box", 981, 588, [26, 30, null]],
+[30, ["string", "y"], 1036, 588, [29, null]],
+[31, ["storein", 0], 941, 960, [90, 32, 33, 34]],
+[32, ["string", "x"], 1009, 960, [31, null]],
+[33, "xcor", 1009, 1002, [31, null]],
+[34, ["storein", 0], 941, 1044, [31, 35, 36, null]],
+[35, ["string", "y"], 1009, 1044, [34, null]],
+[36, "ycor", 1009, 1086, [34, null]],
+[37, ["setxy2", 0], 923, 1146, [90, 64, 66, 38]],
+[38, "pendown", 923, 1230, [37, null]],
+[39, ["loadblock", 0], 923, 186, [84, 40, 76]],
+[40, ["string", "pen down"], 981, 186, [39, null]],
+[41, "hat", 940, 200, [null, 42, 69]],
+[42, ["string", "record penup"], 998, 212, [41, null]],
+[43, ["loadblock", 0], 923, 306, [86, 44, 78]],
+[44, ["string", "pen up"], 981, 306, [43, null]],
+[45, "stack", 674, 394, [111, 46, 51]],
+[46, ["string", "record penup"], 732, 394, [45, null]],
+[47, "stack", 674, 478, [51, 48, null]],
+[48, ["string", "record pendown"], 732, 478, [47, null]],
+[49, "wait", 621, 920, [60, 50, null]],
+[50, ["number", 0.25], 679, 920, [49, null]],
+[51, "stack", 674, 436, [45, 52, 47]],
+[52, ["string", "record point"], 732, 436, [51, null]],
+[53, ["storein", 0], 638, 160, [71, 54, 57, 55]],
+[54, ["string", "old mouse x"], 706, 160, [53, null]],
+[55, ["storein", 0], 638, 244, [53, 56, 91, 17]],
+[56, ["string", "old mouse y"], 706, 244, [55, null]],
+[57, "xcor", 706, 202, [53, null]],
+[58, ["storein", 0], 621, 752, [6, 59, 62, 60]],
+[59, ["string", "old mouse x"], 689, 752, [58, null]],
+[60, ["storein", 0], 621, 836, [58, 61, 63, 49]],
+[61, ["string", "old mouse y"], 689, 836, [60, null]],
+[62, "mousex", 689, 794, [58, null]],
+[63, "mousey", 689, 878, [60, null]],
+[64, "box", 981, 1146, [37, 65, null]],
+[65, ["string", "old mouse x"], 1036, 1146, [64, null]],
+[66, "box", 981, 1188, [37, 67, null]],
+[67, ["string", "old mouse y"], 1036, 1188, [66, null]],
+[68, "sandwichclampcollapsed", 940, 374, [9, 88, null]],
+[69, "sandwichclampcollapsed", 940, 254, [41, 86, null]],
+[70, "sandwichclampcollapsed", 940, 134, [23, 84, null]],
+[71, "sandwichclampcollapsed", 620, 126, [0, 53, 1]],
+[72, "sandwichclampcollapsed", 638, 658, [3, 6, null]],
+[73, "toppos", 706, 454, [19, null]],
+[74, "hat", 940, 560, [null, 75, 109]],
+[75, ["string", "after"], 998, 572, [74, null]],
+[76, "stack", 923, 228, [39, 77, null]],
+[77, ["string", "after"], 981, 228, [76, null]],
+[78, "stack", 923, 348, [43, 79, null]],
+[79, ["string", "after"], 981, 348, [78, null]],
+[80, "stack", 923, 552, [13, 81, null]],
+[81, ["string", "after"], 981, 552, [80, null]],
+[82, "hat", 940, 440, [null, 83, 108]],
+[83, ["string", "before"], 998, 452, [82, null]],
+[84, "stack", 923, 144, [70, 85, 39]],
+[85, ["string", "before"], 981, 144, [84, null]],
+[86, "stack", 923, 264, [69, 87, 43]],
+[87, ["string", "before"], 981, 264, [86, null]],
+[88, "stack", 923, 384, [68, 89, 13]],
+[89, ["string", "before"], 981, 384, [88, null]],
+[90, ["ifelse", [105, 63]], 923, 624, [109, 94, 107, 31, 37]],
+[91, "ycor", 706, 286, [55, null]],
+[92, "leftpos", 706, 370, [17, null]],
+[93, "ycor", 1035, 590, [94, null]],
+[94, ["less2", 0], 979, 590, [90, 93, 96, null]],
+[95, "bottompos", 1113, 632, [96, null]],
+[96, ["product2", 0], 1059, 632, [94, 95, 97]],
+[97, ["number", 2], 1113, 674, [96, null]],
+[98, ["storein", 0], 941, 732, [107, 99, 104, 106]],
+[99, ["string", "x"], 1009, 732, [98, null]],
+[100, ["storein", 0], 941, 858, [106, 101, 102, null]],
+[101, ["string", "y"], 1009, 858, [100, null]],
+[102, "toppos", 1009, 900, [100, null]],
+[103, "xcor", 1063, 774, [104, null]],
+[104, ["plus2", 0], 1009, 774, [98, 103, 105]],
+[105, ["number", 100], 1063, 816, [104, null]],
+[106, ["vspace", 0], 941, 816, [98, 100]],
+[107, ["vspace", 0], 941, 690, [90, 98]],
+[108, "sandwichclampcollapsed", 940, 494, [82, 25, null]],
+[109, "sandwichclampcollapsed", 940, 614, [74, 90, null]],
+[110, "penstate", 712, 284, [111, null]],
+[111, ["ifelse", [0, 42]], 656, 268, [3, 110, 11, 45, 5]]] \ No newline at end of file
diff --git a/samples/sensors-soundpaint.ta b/samples/sensors-soundpaint.ta
index 61f80d1..3a5dff3 100644
--- a/samples/sensors-soundpaint.ta
+++ b/samples/sensors-soundpaint.ta
@@ -1,14 +1,18 @@
-[[0, ["start", 2.0], 439, 13, [null, 1]],
-[1, ["forever", 135], 439, 59, [0, 9, null]],
-[2, ["setxy2", 0], 457, 279, [9, 3, 4, 8]],
-[3, "mousex", 515, 279, [2, null]],
-[4, "mousey", 515, 321, [2, null]],
-[5, "volume", 613, 363, [6, null]],
-[6, ["division2", 0], 559, 363, [8, 5, 7]],
-[7, ["number", 10], 637, 405, [6, null]],
-[8, "setpensize", 457, 363, [2, 6, null]],
+[[0, ["start", 2.0], 75, 137, [null, 13]],
+[1, ["forever", 135], 75, 309, [13, 9, null]],
+[2, ["setxy2", 0], 93, 529, [9, 3, 4, 8]],
+[3, "mousex", 151, 529, [2, null]],
+[4, "mousey", 151, 571, [2, null]],
+[5, "volume", 265, 613, [6, null]],
+[6, ["division2", 0], 195, 613, [8, 5, 7]],
+[7, ["number", 100.0], 289, 655, [6, null]],
+[8, "setpensize", 93, 613, [2, 6, null]],
[9, ["ifelse", [0, 0]],
-457, 93, [1, 10, 11, 12, 2]],
-[10, "mousebutton2", 513, 109, [9, null]],
-[11, "pendown", 475, 159, [9, null]],
-[12, "penup", 475, 219, [9, null]]]
+93, 343, [1, 10, 11, 12, 2]],
+[10, "mousebutton2", 149, 359, [9, null]],
+[11, "pendown", 111, 409, [9, null]],
+[12, "penup", 111, 469, [9, null]],
+[13, "fillscreen2", 75, 183, [0, 14, 16, 15, 1]],
+[14, ["number", 60], 157, 183, [13, null]],
+[15, ["number", 100], 157, 267, [13, null]],
+[16, "white", 157, 225, [13, null]]]
diff --git a/samples/sensors-valentine.ta b/samples/sensors-valentine.ta
index e25992a..89a6dbf 100644
--- a/samples/sensors-valentine.ta
+++ b/samples/sensors-valentine.ta
@@ -1,107 +1,112 @@
-[[0, ["start", 2.0], 260, 240, [null, 51]],
-[1, "hat1", 140, 240, [null, 100]],
-[2, "hat2", 17, 240, [null, 101]],
-[3, "setcolor", 21, 1208, [59, 103, 15]],
-[4, "stack1", 21, 956, [16, 58]],
-[5, "volume", 142, 788, [104, null]],
-[6, ["forever", 357], 3, 544, [98, 28, null]],
-[7, "penup", 158, 362, [63, 97]],
-[8, "pendown", 158, 446, [97, 66]],
-[9, "penup", 158, 530, [66, 71]],
-[10, "pendown", 158, 698, [74, null]],
-[11, "clean", 3, 424, [99, 12]],
-[12, ["fillscreen", 0], 3, 466, [11, 14, 13, 34]],
-[13, ["number", 80], 84, 508, [12, null]],
-[14, "white", 84, 466, [12, null]],
-[15, "stack1", 21, 1250, [3, 41]],
-[16, "setcolor", 21, 914, [60, 17, 4]],
-[17, "white", 98, 914, [16, null]],
-[18, ["storein", 0], 21, 662, [28, 19, 26, 22]],
-[19, ["string", "b"], 88, 662, [18, null]],
-[20, ["storein", 0], 3, 634, [34, 21, 40, 37]],
-[21, ["string", "b"], 70, 634, [20, null]],
-[22, ["storein", 0], 21, 746, [18, 23, 104, 106]],
-[23, ["string", "a"], 88, 746, [22, null]],
-[24, "box", 138, 1166, [59, 25, null]],
-[25, ["string", "a"], 192, 1166, [24, null]],
-[26, "box", 88, 704, [18, 27, null]],
-[27, ["string", "a"], 142, 704, [26, null]],
-[28, ["storein", 0], 21, 578, [6, 29, 30, 18]],
-[29, ["string", "c"], 88, 578, [28, null]],
-[30, "box", 88, 620, [28, 31, null]],
-[31, ["string", "b"], 142, 620, [30, null]],
-[32, "box", 138, 872, [60, 33, null]],
-[33, ["string", "c"], 192, 872, [32, null]],
-[34, ["storein", 0], 3, 550, [12, 35, 36, 20]],
-[35, ["string", "a"], 70, 550, [34, null]],
-[36, ["number", 0], 70, 592, [34, null]],
-[37, ["storein", 0], 3, 718, [20, 38, 39, null]],
-[38, ["string", "c"], 70, 718, [37, null]],
-[39, ["number", 0], 70, 760, [37, null]],
-[40, ["number", 0], 70, 676, [20, null]],
-[41, "wait", 21, 1292, [15, 42, null]],
-[42, ["number", 0.1], 79, 1292, [41, null]],
-[43, "setshade", 21, 1082, [45, 44, 48]],
-[44, ["number", 75], 106, 1082, [43, null]],
-[45, "setcolor", 21, 1040, [58, 102, 43]],
-[46, "box", 138, 998, [58, 47, null]],
-[47, ["string", "b"], 192, 998, [46, null]],
-[48, "stack1", 21, 1124, [43, 59]],
-[49, "hat", 20, 360, [null, 50, 99]],
-[50, ["string", "setup"], 78, 372, [49, null]],
-[51, "stack", 260, 286, [0, 52, 55]],
-[52, ["string", "setup"], 318, 286, [51, null]],
-[53, "hat", 20, 480, [null, 54, 98]],
-[54, ["string", "loop"], 78, 492, [53, null]],
-[55, "stack", 260, 328, [51, 56, null]],
-[56, ["string", "loop"], 318, 328, [55, null]],
-[57, "box1", 329, 320, [67, null]],
-[58, "storeinbox1", 21, 998, [4, 46, 45]],
-[59, "storeinbox1", 21, 1166, [48, 24, 3]],
-[60, "storeinbox1", 21, 872, [106, 32, 16]],
-[61, "forward", 0, 380, [76, 78, 95]],
-[62, "box2", 58, 338, [76, null]],
-[63, "storeinbox2", 158, 320, [100, 67, 7]],
-[64, "box2", 124, 380, [78, null]],
-[65, "box2", 282, 404, [69, null]],
-[66, "stack2", 158, 488, [8, 9]],
-[67, ["division2", 0], 275, 320, [63, 57, 68]],
-[68, ["number", 2], 353, 362, [67, null]],
-[69, ["division2", 0], 228, 404, [97, 65, 70]],
-[70, ["number", 2], 306, 446, [69, null]],
-[71, ["setxy2", 0], 158, 572, [9, 72, 73, 74]],
-[72, ["number", 0], 216, 572, [71, null]],
-[73, ["number", 0], 216, 614, [71, null]],
-[74, "seth", 158, 656, [71, 75, 10]],
-[75, ["number", 0], 216, 656, [74, null]],
-[76, ["arc", 0], 0, 296, [101, 77, 62, 61]],
-[77, ["number", 225], 58, 296, [76, null]],
-[78, ["product2", 0], 70, 380, [61, 64, 81]],
-[79, "sqrt", 178, 464, [81, 80]],
-[80, ["number", 2], 232, 464, [79, null]],
-[81, ["product2", 0], 124, 422, [78, 82, 79]],
-[82, ["number", 1.7], 178, 422, [81, null]],
-[83, ["arc", 0], 0, 670, [96, 84, 85, null]],
-[84, ["number", 225], 58, 670, [83, null]],
-[85, "box2", 58, 712, [83, null]],
-[86, "right", 0, 504, [95, 87, 88]],
-[87, ["number", 90], 58, 504, [86, null]],
-[88, "forward", 0, 546, [86, 89, 96]],
-[89, ["product2", 0], 70, 546, [88, 90, 91]],
-[90, "box2", 124, 546, [89, null]],
-[91, ["product2", 0], 124, 588, [89, 92, 93]],
-[92, ["number", 1.7], 178, 588, [91, null]],
-[93, "sqrt", 178, 630, [91, 94]],
-[94, ["number", 2], 232, 630, [93, null]],
-[95, ["vspace", 20], 0, 422, [61, 86]],
-[96, ["vspace", 20], 0, 588, [88, 83]],
-[97, "forward", 158, 404, [7, 69, 8]],
-[98, "sandwichclampcollapsed", 20, 534, [53, 6, null]],
-[99, "sandwichclampcollapsed", 20, 414, [49, 11, null]],
-[100, "sandwichclampcollapsed", 140, 286, [1, 63, null]],
-[101, "sandwichclampcollapsed", 17, 286, [2, 76, null]],
-[102, "red", 98, 1040, [45, null]],
-[103, "red", 98, 1208, [3, null]],
-[104, ["division2", 0], 88, 788, [22, 5, 105]],
-[105, ["number", 4], 166, 830, [104, null]],
-[106, ["vspace", 0], 21, 830, [22, 60]]]
+[[0, ["start", 1.334], 920, 60, [null, 11]],
+[1, "hat1", 280, 280, [null, 98]],
+[2, "hat2", 760, 300, [null, 99]],
+[3, "setcolor", 64, 542, [57, 101, 13]],
+[4, "stack1", 64, 346, [14, 56]],
+[5, "volume", 624, 599, [102, null]],
+[6, ["forever", 239], 52, 239, [96, 49, null]],
+[7, "penup", 292, 362, [61, 95]],
+[8, "pendown", 292, 418, [95, 64]],
+[9, "penup", 292, 474, [64, 69]],
+[10, "pendown", 292, 586, [72, null]],
+[11, "clean", 920, 91, [0, 105]],
+[12, "white", 982, 147, [105, null]],
+[13, "stack1", 64, 570, [3, 39]],
+[14, "setcolor", 64, 318, [108, 15, 4]],
+[15, "white", 115, 318, [14, null]],
+[16, ["storein", 0], 532, 515, [26, 17, 24, 20]],
+[17, ["string", "b"], 577, 515, [16, null]],
+[18, ["storein", 0], 920, 259, [32, 19, 38, 35]],
+[19, ["string", "b"], 965, 259, [18, null]],
+[20, ["storein", 0], 532, 571, [16, 21, 102, 104]],
+[21, ["string", "a"], 577, 571, [20, null]],
+[22, "box", 143, 514, [57, 23, null]],
+[23, ["string", "a"], 180, 514, [22, null]],
+[24, "box", 577, 543, [16, 25, null]],
+[25, ["string", "a"], 614, 543, [24, null]],
+[26, ["storein", 0], 532, 459, [97, 27, 28, 16]],
+[27, ["string", "c"], 577, 459, [26, null]],
+[28, "box", 577, 487, [26, 29, null]],
+[29, ["string", "b"], 614, 487, [28, null]],
+[30, "box", 611, 655, [58, 31, null]],
+[31, ["string", "c"], 648, 655, [30, null]],
+[32, ["storein", 0], 920, 203, [105, 33, 34, 18]],
+[33, ["string", "a"], 965, 203, [32, null]],
+[34, ["number", 0], 965, 231, [32, null]],
+[35, ["storein", 0], 920, 315, [18, 36, 37, 53]],
+[36, ["string", "c"], 965, 315, [35, null]],
+[37, ["number", 0], 965, 343, [35, null]],
+[38, ["number", 0], 965, 287, [18, null]],
+[39, "wait", 64, 598, [13, 40, null]],
+[40, ["number", 0.1], 103, 598, [39, null]],
+[41, "setshade", 64, 458, [43, 42, 46]],
+[42, ["number", 75], 121, 458, [41, null]],
+[43, "setcolor", 64, 430, [110, 100, 41]],
+[44, "box", 143, 374, [56, 45, null]],
+[45, ["string", "b"], 180, 374, [44, null]],
+[46, "stack1", 64, 486, [41, 57]],
+[47, "hat", 520, 400, [null, 48, 97]],
+[48, ["string", "read sensor"], 559, 408, [47, null]],
+[49, "stack", 64, 262, [6, 50, 108]],
+[50, ["string", "read sensor"], 103, 262, [49, null]],
+[51, "hat", 40, 180, [null, 52, 96]],
+[52, ["string", "loop"], 79, 188, [51, null]],
+[53, "stack", 920, 371, [35, 54, null]],
+[54, ["string", "loop"], 959, 371, [53, null]],
+[55, "box1", 418, 334, [65, null]],
+[56, "storeinbox1", 64, 374, [4, 44, 110]],
+[57, "storeinbox1", 64, 514, [46, 22, 3]],
+[58, "storeinbox1", 532, 655, [104, 30, null]],
+[59, "forward", 772, 410, [74, 76, 93]],
+[60, "box2", 811, 382, [74, null]],
+[61, "storeinbox2", 292, 334, [98, 65, 7]],
+[62, "box2", 855, 410, [76, null]],
+[63, "box2", 386, 390, [67, null]],
+[64, "stack2", 292, 446, [8, 9]],
+[65, ["division2", 0], 371, 334, [61, 55, 66]],
+[66, ["number", 2], 434, 362, [65, null]],
+[67, ["division2", 0], 339, 390, [95, 63, 68]],
+[68, ["number", 2], 402, 418, [67, null]],
+[69, ["setxy2", 0], 292, 502, [9, 70, 71, 72]],
+[70, ["number", 0], 331, 502, [69, null]],
+[71, ["number", 0], 331, 530, [69, null]],
+[72, "seth", 292, 558, [69, 73, 10]],
+[73, ["number", 0], 358, 558, [72, null]],
+[74, ["arc", 0], 772, 354, [99, 75, 60, 59]],
+[75, ["number", 225], 811, 354, [74, null]],
+[76, ["product2", 0], 819, 410, [59, 62, 79]],
+[77, "sqrt", 891, 466, [79, 78]],
+[78, ["number", 2], 927, 466, [77, null]],
+[79, ["product2", 0], 855, 438, [76, 80, 77]],
+[80, ["number", 1.7], 891, 438, [79, null]],
+[81, ["arc", 0], 772, 604, [94, 82, 83, null]],
+[82, ["number", 225], 811, 604, [81, null]],
+[83, "box2", 811, 632, [81, null]],
+[84, "right", 772, 493, [93, 85, 86]],
+[85, ["number", 90], 811, 493, [84, null]],
+[86, "forward", 772, 521, [84, 87, 94]],
+[87, ["product2", 0], 819, 521, [86, 88, 89]],
+[88, "box2", 855, 521, [87, null]],
+[89, ["product2", 0], 855, 549, [87, 90, 91]],
+[90, ["number", 1.7], 891, 549, [89, null]],
+[91, "sqrt", 891, 577, [89, 92]],
+[92, ["number", 2], 927, 577, [91, null]],
+[93, ["vspace", 20], 772, 438, [59, 84]],
+[94, ["vspace", 20], 772, 549, [86, 81]],
+[95, "forward", 292, 390, [7, 67, 8]],
+[96, ["sandwichclamp", 265], 40, 216, [51, 6, null]],
+[97, ["sandwichclamp", 147], 520, 436, [47, 26, null]],
+[98, ["sandwichclamp", 189], 280, 311, [1, 61, null]],
+[99, ["sandwichclamp", 208], 760, 331, [2, 74, null]],
+[100, "red", 115, 430, [43, null]],
+[101, "red", 115, 542, [3, null]],
+[102, ["division2", 0], 577, 599, [20, 5, 103]],
+[103, ["number", 4], 640, 627, [102, null]],
+[104, ["vspace", 0], 532, 627, [20, 58]],
+[105, "fillscreen2", 920, 119, [11, 106, 12, 107, 32]],
+[106, ["number", 60], 982, 119, [105, null]],
+[107, ["number", 100], 982, 175, [105, null]],
+[108, "setpensize", 64, 290, [49, 109, 14]],
+[109, ["number", 7.0], 139, 290, [108, null]],
+[110, "setpensize", 64, 402, [56, 111, 43]],
+[111, ["number", 5], 139, 402, [110, null]]]
diff --git a/samples/thumbnails/basic-intro-1-es.png b/samples/thumbnails/basic-intro-1-es.png
new file mode 100644
index 0000000..ca4042c
--- /dev/null
+++ b/samples/thumbnails/basic-intro-1-es.png
Binary files differ
diff --git a/samples/thumbnails/basic-intro-1.png b/samples/thumbnails/basic-intro-1.png
new file mode 100644
index 0000000..f15a528
--- /dev/null
+++ b/samples/thumbnails/basic-intro-1.png
Binary files differ
diff --git a/samples/thumbnails/basic-intro-2-es.png b/samples/thumbnails/basic-intro-2-es.png
new file mode 100644
index 0000000..ba9ceaf
--- /dev/null
+++ b/samples/thumbnails/basic-intro-2-es.png
Binary files differ
diff --git a/samples/thumbnails/basic-intro-2.png b/samples/thumbnails/basic-intro-2.png
new file mode 100644
index 0000000..2046121
--- /dev/null
+++ b/samples/thumbnails/basic-intro-2.png
Binary files differ
diff --git a/samples/thumbnails/basic-intro-3.png b/samples/thumbnails/basic-intro-3.png
new file mode 100644
index 0000000..aea791b
--- /dev/null
+++ b/samples/thumbnails/basic-intro-3.png
Binary files differ
diff --git a/samples/thumbnails/basic-repeat-squares.png b/samples/thumbnails/basic-repeat-squares.png
new file mode 100644
index 0000000..1c178aa
--- /dev/null
+++ b/samples/thumbnails/basic-repeat-squares.png
Binary files differ
diff --git a/samples/thumbnails/basic-spiral.png b/samples/thumbnails/basic-spiral.png
new file mode 100644
index 0000000..85d6e6b
--- /dev/null
+++ b/samples/thumbnails/basic-spiral.png
Binary files differ
diff --git a/samples/thumbnails/basic-square.png b/samples/thumbnails/basic-square.png
new file mode 100644
index 0000000..ac1496f
--- /dev/null
+++ b/samples/thumbnails/basic-square.png
Binary files differ
diff --git a/samples/thumbnails/card-01.png b/samples/thumbnails/card-01.png
new file mode 100644
index 0000000..8c0b6a8
--- /dev/null
+++ b/samples/thumbnails/card-01.png
Binary files differ
diff --git a/samples/thumbnails/card-02.png b/samples/thumbnails/card-02.png
new file mode 100644
index 0000000..2f4efc8
--- /dev/null
+++ b/samples/thumbnails/card-02.png
Binary files differ
diff --git a/samples/thumbnails/card-03.png b/samples/thumbnails/card-03.png
new file mode 100644
index 0000000..c0b2828
--- /dev/null
+++ b/samples/thumbnails/card-03.png
Binary files differ
diff --git a/samples/thumbnails/card-04.png b/samples/thumbnails/card-04.png
new file mode 100644
index 0000000..89be2e5
--- /dev/null
+++ b/samples/thumbnails/card-04.png
Binary files differ
diff --git a/samples/thumbnails/card-05.png b/samples/thumbnails/card-05.png
new file mode 100644
index 0000000..fb0e407
--- /dev/null
+++ b/samples/thumbnails/card-05.png
Binary files differ
diff --git a/samples/thumbnails/card-06.png b/samples/thumbnails/card-06.png
new file mode 100644
index 0000000..17e8f59
--- /dev/null
+++ b/samples/thumbnails/card-06.png
Binary files differ
diff --git a/samples/thumbnails/card-07.png b/samples/thumbnails/card-07.png
new file mode 100644
index 0000000..391edcd
--- /dev/null
+++ b/samples/thumbnails/card-07.png
Binary files differ
diff --git a/samples/thumbnails/card-08.png b/samples/thumbnails/card-08.png
new file mode 100644
index 0000000..74f634f
--- /dev/null
+++ b/samples/thumbnails/card-08.png
Binary files differ
diff --git a/samples/thumbnails/card-09.png b/samples/thumbnails/card-09.png
new file mode 100644
index 0000000..3555996
--- /dev/null
+++ b/samples/thumbnails/card-09.png
Binary files differ
diff --git a/samples/thumbnails/card-10.png b/samples/thumbnails/card-10.png
new file mode 100644
index 0000000..ebb4222
--- /dev/null
+++ b/samples/thumbnails/card-10.png
Binary files differ
diff --git a/samples/thumbnails/card-11.png b/samples/thumbnails/card-11.png
new file mode 100644
index 0000000..207a466
--- /dev/null
+++ b/samples/thumbnails/card-11.png
Binary files differ
diff --git a/samples/thumbnails/card-12.png b/samples/thumbnails/card-12.png
new file mode 100644
index 0000000..d10f8fa
--- /dev/null
+++ b/samples/thumbnails/card-12.png
Binary files differ
diff --git a/samples/thumbnails/card-13.png b/samples/thumbnails/card-13.png
new file mode 100644
index 0000000..9463f91
--- /dev/null
+++ b/samples/thumbnails/card-13.png
Binary files differ
diff --git a/samples/thumbnails/card-14.png b/samples/thumbnails/card-14.png
new file mode 100644
index 0000000..3602c00
--- /dev/null
+++ b/samples/thumbnails/card-14.png
Binary files differ
diff --git a/samples/thumbnails/card-15.png b/samples/thumbnails/card-15.png
new file mode 100644
index 0000000..acab1bb
--- /dev/null
+++ b/samples/thumbnails/card-15.png
Binary files differ
diff --git a/samples/thumbnails/card-16.png b/samples/thumbnails/card-16.png
new file mode 100644
index 0000000..fc363c2
--- /dev/null
+++ b/samples/thumbnails/card-16.png
Binary files differ
diff --git a/samples/thumbnails/card-17.png b/samples/thumbnails/card-17.png
new file mode 100644
index 0000000..8c0213a
--- /dev/null
+++ b/samples/thumbnails/card-17.png
Binary files differ
diff --git a/samples/thumbnails/game-basketball.png b/samples/thumbnails/game-basketball.png
new file mode 100644
index 0000000..ef8edc8
--- /dev/null
+++ b/samples/thumbnails/game-basketball.png
Binary files differ
diff --git a/samples/thumbnails/game-continents.png b/samples/thumbnails/game-continents.png
new file mode 100644
index 0000000..b6fb8ac
--- /dev/null
+++ b/samples/thumbnails/game-continents.png
Binary files differ
diff --git a/samples/thumbnails/game-find-boston.png b/samples/thumbnails/game-find-boston.png
new file mode 100644
index 0000000..7813b33
--- /dev/null
+++ b/samples/thumbnails/game-find-boston.png
Binary files differ
diff --git a/samples/thumbnails/game-gonu.png b/samples/thumbnails/game-gonu.png
new file mode 100644
index 0000000..a68b3b3
--- /dev/null
+++ b/samples/thumbnails/game-gonu.png
Binary files differ
diff --git a/samples/thumbnails/game-set.png b/samples/thumbnails/game-set.png
new file mode 100644
index 0000000..443224f
--- /dev/null
+++ b/samples/thumbnails/game-set.png
Binary files differ
diff --git a/samples/thumbnails/game-shapes-and-colors.png b/samples/thumbnails/game-shapes-and-colors.png
new file mode 100644
index 0000000..b315ef8
--- /dev/null
+++ b/samples/thumbnails/game-shapes-and-colors.png
Binary files differ
diff --git a/samples/thumbnails/game-spiralaterals.png b/samples/thumbnails/game-spiralaterals.png
new file mode 100644
index 0000000..7e6ffae
--- /dev/null
+++ b/samples/thumbnails/game-spiralaterals.png
Binary files differ
diff --git a/samples/thumbnails/game-trianglepaint.png b/samples/thumbnails/game-trianglepaint.png
new file mode 100644
index 0000000..05c6158
--- /dev/null
+++ b/samples/thumbnails/game-trianglepaint.png
Binary files differ
diff --git a/samples/thumbnails/graphics-bbq.png b/samples/thumbnails/graphics-bbq.png
new file mode 100644
index 0000000..eb56cd0
--- /dev/null
+++ b/samples/thumbnails/graphics-bbq.png
Binary files differ
diff --git a/samples/thumbnails/graphics-birds.png b/samples/thumbnails/graphics-birds.png
new file mode 100644
index 0000000..7433d70
--- /dev/null
+++ b/samples/thumbnails/graphics-birds.png
Binary files differ
diff --git a/samples/thumbnails/graphics-bubbles.png b/samples/thumbnails/graphics-bubbles.png
new file mode 100644
index 0000000..c3a851a
--- /dev/null
+++ b/samples/thumbnails/graphics-bubbles.png
Binary files differ
diff --git a/samples/thumbnails/graphics-candyvortex.png b/samples/thumbnails/graphics-candyvortex.png
new file mode 100644
index 0000000..05eab0c
--- /dev/null
+++ b/samples/thumbnails/graphics-candyvortex.png
Binary files differ
diff --git a/samples/thumbnails/graphics-city.png b/samples/thumbnails/graphics-city.png
new file mode 100644
index 0000000..21bfbc3
--- /dev/null
+++ b/samples/thumbnails/graphics-city.png
Binary files differ
diff --git a/samples/thumbnails/graphics-colors.png b/samples/thumbnails/graphics-colors.png
new file mode 100644
index 0000000..9feb47f
--- /dev/null
+++ b/samples/thumbnails/graphics-colors.png
Binary files differ
diff --git a/samples/thumbnails/graphics-csquiral.png b/samples/thumbnails/graphics-csquiral.png
new file mode 100644
index 0000000..9ee68d7
--- /dev/null
+++ b/samples/thumbnails/graphics-csquiral.png
Binary files differ
diff --git a/samples/thumbnails/graphics-curls.png b/samples/thumbnails/graphics-curls.png
new file mode 100644
index 0000000..827e85b
--- /dev/null
+++ b/samples/thumbnails/graphics-curls.png
Binary files differ
diff --git a/samples/thumbnails/graphics-curlygates.png b/samples/thumbnails/graphics-curlygates.png
new file mode 100644
index 0000000..ccf3e6b
--- /dev/null
+++ b/samples/thumbnails/graphics-curlygates.png
Binary files differ
diff --git a/samples/thumbnails/graphics-daimons.png b/samples/thumbnails/graphics-daimons.png
new file mode 100644
index 0000000..f781d89
--- /dev/null
+++ b/samples/thumbnails/graphics-daimons.png
Binary files differ
diff --git a/samples/thumbnails/graphics-dalton.png b/samples/thumbnails/graphics-dalton.png
new file mode 100644
index 0000000..fa58418
--- /dev/null
+++ b/samples/thumbnails/graphics-dalton.png
Binary files differ
diff --git a/samples/thumbnails/graphics-dots.png b/samples/thumbnails/graphics-dots.png
new file mode 100644
index 0000000..aff350b
--- /dev/null
+++ b/samples/thumbnails/graphics-dots.png
Binary files differ
diff --git a/samples/thumbnails/graphics-flower.png b/samples/thumbnails/graphics-flower.png
new file mode 100644
index 0000000..b38c34a
--- /dev/null
+++ b/samples/thumbnails/graphics-flower.png
Binary files differ
diff --git a/samples/thumbnails/graphics-fountain.png b/samples/thumbnails/graphics-fountain.png
new file mode 100644
index 0000000..5d912e8
--- /dev/null
+++ b/samples/thumbnails/graphics-fountain.png
Binary files differ
diff --git a/samples/thumbnails/graphics-grid.png b/samples/thumbnails/graphics-grid.png
new file mode 100644
index 0000000..bb6adf8
--- /dev/null
+++ b/samples/thumbnails/graphics-grid.png
Binary files differ
diff --git a/samples/thumbnails/graphics-op-art-2.png b/samples/thumbnails/graphics-op-art-2.png
new file mode 100644
index 0000000..e83349d
--- /dev/null
+++ b/samples/thumbnails/graphics-op-art-2.png
Binary files differ
diff --git a/samples/thumbnails/graphics-op-art.png b/samples/thumbnails/graphics-op-art.png
new file mode 100644
index 0000000..1c24f7f
--- /dev/null
+++ b/samples/thumbnails/graphics-op-art.png
Binary files differ
diff --git a/samples/thumbnails/graphics-palm.png b/samples/thumbnails/graphics-palm.png
new file mode 100644
index 0000000..db00690
--- /dev/null
+++ b/samples/thumbnails/graphics-palm.png
Binary files differ
diff --git a/samples/thumbnails/graphics-rainbow.png b/samples/thumbnails/graphics-rainbow.png
new file mode 100644
index 0000000..c501dac
--- /dev/null
+++ b/samples/thumbnails/graphics-rainbow.png
Binary files differ
diff --git a/samples/thumbnails/graphics-redwisp.png b/samples/thumbnails/graphics-redwisp.png
new file mode 100644
index 0000000..c94f46c
--- /dev/null
+++ b/samples/thumbnails/graphics-redwisp.png
Binary files differ
diff --git a/samples/thumbnails/graphics-reflections.png b/samples/thumbnails/graphics-reflections.png
new file mode 100644
index 0000000..7f3ee8b
--- /dev/null
+++ b/samples/thumbnails/graphics-reflections.png
Binary files differ
diff --git a/samples/thumbnails/graphics-shades.png b/samples/thumbnails/graphics-shades.png
new file mode 100644
index 0000000..59b5211
--- /dev/null
+++ b/samples/thumbnails/graphics-shades.png
Binary files differ
diff --git a/samples/thumbnails/graphics-smoothcandy.png b/samples/thumbnails/graphics-smoothcandy.png
new file mode 100644
index 0000000..89f1788
--- /dev/null
+++ b/samples/thumbnails/graphics-smoothcandy.png
Binary files differ
diff --git a/samples/thumbnails/graphics-sunrise.png b/samples/thumbnails/graphics-sunrise.png
new file mode 100644
index 0000000..7b583e7
--- /dev/null
+++ b/samples/thumbnails/graphics-sunrise.png
Binary files differ
diff --git a/samples/thumbnails/graphics-turtles.png b/samples/thumbnails/graphics-turtles.png
new file mode 100644
index 0000000..876bddf
--- /dev/null
+++ b/samples/thumbnails/graphics-turtles.png
Binary files differ
diff --git a/samples/thumbnails/graphics-xo-child.png b/samples/thumbnails/graphics-xo-child.png
new file mode 100644
index 0000000..51b52ad
--- /dev/null
+++ b/samples/thumbnails/graphics-xo-child.png
Binary files differ
diff --git a/samples/thumbnails/math-Pythagoras.png b/samples/thumbnails/math-Pythagoras.png
new file mode 100644
index 0000000..fdca549
--- /dev/null
+++ b/samples/thumbnails/math-Pythagoras.png
Binary files differ
diff --git a/samples/thumbnails/math-cherlin.png b/samples/thumbnails/math-cherlin.png
new file mode 100644
index 0000000..4c8e334
--- /dev/null
+++ b/samples/thumbnails/math-cherlin.png
Binary files differ
diff --git a/samples/thumbnails/math-dice.png b/samples/thumbnails/math-dice.png
new file mode 100644
index 0000000..f0894f7
--- /dev/null
+++ b/samples/thumbnails/math-dice.png
Binary files differ
diff --git a/samples/thumbnails/math-fractions.png b/samples/thumbnails/math-fractions.png
new file mode 100644
index 0000000..6fb8c45
--- /dev/null
+++ b/samples/thumbnails/math-fractions.png
Binary files differ
diff --git a/samples/thumbnails/math-galton-path.png b/samples/thumbnails/math-galton-path.png
new file mode 100644
index 0000000..bfd2f31
--- /dev/null
+++ b/samples/thumbnails/math-galton-path.png
Binary files differ
diff --git a/samples/thumbnails/math-geometry.png b/samples/thumbnails/math-geometry.png
new file mode 100644
index 0000000..d743ff6
--- /dev/null
+++ b/samples/thumbnails/math-geometry.png
Binary files differ
diff --git a/samples/thumbnails/math-heart-animation.png b/samples/thumbnails/math-heart-animation.png
new file mode 100644
index 0000000..abb2778
--- /dev/null
+++ b/samples/thumbnails/math-heart-animation.png
Binary files differ
diff --git a/samples/thumbnails/math-heart.png b/samples/thumbnails/math-heart.png
new file mode 100644
index 0000000..de59f92
--- /dev/null
+++ b/samples/thumbnails/math-heart.png
Binary files differ
diff --git a/samples/thumbnails/math-prime-factors.png b/samples/thumbnails/math-prime-factors.png
new file mode 100644
index 0000000..e9ec108
--- /dev/null
+++ b/samples/thumbnails/math-prime-factors.png
Binary files differ
diff --git a/samples/thumbnails/math-sierpquad.png b/samples/thumbnails/math-sierpquad.png
new file mode 100644
index 0000000..8f5d5ad
--- /dev/null
+++ b/samples/thumbnails/math-sierpquad.png
Binary files differ
diff --git a/samples/thumbnails/math-sierptri.png b/samples/thumbnails/math-sierptri.png
new file mode 100644
index 0000000..c856aea
--- /dev/null
+++ b/samples/thumbnails/math-sierptri.png
Binary files differ
diff --git a/samples/thumbnails/math-snowflake.png b/samples/thumbnails/math-snowflake.png
new file mode 100644
index 0000000..6842811
--- /dev/null
+++ b/samples/thumbnails/math-snowflake.png
Binary files differ
diff --git a/samples/thumbnails/math-tangents.png b/samples/thumbnails/math-tangents.png
new file mode 100644
index 0000000..754b2ef
--- /dev/null
+++ b/samples/thumbnails/math-tangents.png
Binary files differ
diff --git a/samples/thumbnails/math-tree.png b/samples/thumbnails/math-tree.png
new file mode 100644
index 0000000..80a177f
--- /dev/null
+++ b/samples/thumbnails/math-tree.png
Binary files differ
diff --git a/samples/thumbnails/media-music-dots.png b/samples/thumbnails/media-music-dots.png
new file mode 100644
index 0000000..75a5631
--- /dev/null
+++ b/samples/thumbnails/media-music-dots.png
Binary files differ
diff --git a/samples/thumbnails/media-music-keyboard.png b/samples/thumbnails/media-music-keyboard.png
new file mode 100644
index 0000000..e515a24
--- /dev/null
+++ b/samples/thumbnails/media-music-keyboard.png
Binary files differ
diff --git a/samples/thumbnails/media-scratch.png b/samples/thumbnails/media-scratch.png
new file mode 100644
index 0000000..041a261
--- /dev/null
+++ b/samples/thumbnails/media-scratch.png
Binary files differ
diff --git a/samples/thumbnails/sensors-graph.png b/samples/thumbnails/sensors-graph.png
new file mode 100644
index 0000000..f34065b
--- /dev/null
+++ b/samples/thumbnails/sensors-graph.png
Binary files differ
diff --git a/samples/thumbnails/sensors-loudness-monitor.png b/samples/thumbnails/sensors-loudness-monitor.png
new file mode 100644
index 0000000..7461bb2
--- /dev/null
+++ b/samples/thumbnails/sensors-loudness-monitor.png
Binary files differ
diff --git a/samples/thumbnails/sensors-measure.png b/samples/thumbnails/sensors-measure.png
new file mode 100644
index 0000000..1421d14
--- /dev/null
+++ b/samples/thumbnails/sensors-measure.png
Binary files differ
diff --git a/samples/thumbnails/sensors-psuedo-color.png b/samples/thumbnails/sensors-psuedo-color.png
new file mode 100644
index 0000000..745d2d6
--- /dev/null
+++ b/samples/thumbnails/sensors-psuedo-color.png
Binary files differ
diff --git a/samples/thumbnails/sensors-record.png b/samples/thumbnails/sensors-record.png
new file mode 100644
index 0000000..51aae70
--- /dev/null
+++ b/samples/thumbnails/sensors-record.png
Binary files differ
diff --git a/samples/thumbnails/sensors-simple-paint.png b/samples/thumbnails/sensors-simple-paint.png
new file mode 100644
index 0000000..b3d93e7
--- /dev/null
+++ b/samples/thumbnails/sensors-simple-paint.png
Binary files differ
diff --git a/samples/thumbnails/sensors-soundpaint.png b/samples/thumbnails/sensors-soundpaint.png
new file mode 100644
index 0000000..2934699
--- /dev/null
+++ b/samples/thumbnails/sensors-soundpaint.png
Binary files differ
diff --git a/samples/thumbnails/sensors-spectrum-analyzer.png b/samples/thumbnails/sensors-spectrum-analyzer.png
new file mode 100644
index 0000000..a9d3f14
--- /dev/null
+++ b/samples/thumbnails/sensors-spectrum-analyzer.png
Binary files differ
diff --git a/samples/thumbnails/sensors-valentine.png b/samples/thumbnails/sensors-valentine.png
new file mode 100644
index 0000000..caaa685
--- /dev/null
+++ b/samples/thumbnails/sensors-valentine.png
Binary files differ
diff --git a/samples/thumbnails/utility-clock.png b/samples/thumbnails/utility-clock.png
new file mode 100644
index 0000000..6bd4490
--- /dev/null
+++ b/samples/thumbnails/utility-clock.png
Binary files differ
diff --git a/samples/thumbnails/utility-timer.png b/samples/thumbnails/utility-timer.png
new file mode 100644
index 0000000..4c46e51
--- /dev/null
+++ b/samples/thumbnails/utility-timer.png
Binary files differ