Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/samples
diff options
context:
space:
mode:
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.tb (renamed from samples/graphics-dandilion.tb)0
-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-gonu.tb85
-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-dalton.tb43
-rw-r--r--samples/graphics-dots.ta68
-rw-r--r--samples/graphics-jonny-emerson.ta74
-rw-r--r--samples/graphics-redwisp.ta82
-rw-r--r--samples/math-dice.ta227
-rw-r--r--samples/math-snowflake.ta (renamed from samples/graphics-snowflake.ta)0
-rw-r--r--samples/math-tree.ta (renamed from samples/graphics-tree.ta)0
-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-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-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
119 files changed, 1553 insertions, 881 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/graphics-dandilion.tb b/samples/card-11.tb
index 6653524..6653524 100644
--- a/samples/graphics-dandilion.tb
+++ b/samples/card-11.tb
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-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-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-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-jonny-emerson.ta b/samples/graphics-jonny-emerson.ta
deleted file mode 100644
index da6bec8..0000000
--- a/samples/graphics-jonny-emerson.ta
+++ /dev/null
@@ -1,74 +0,0 @@
-[[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-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/graphics-snowflake.ta b/samples/math-snowflake.ta
index 90fa72c..90fa72c 100644
--- a/samples/graphics-snowflake.ta
+++ b/samples/math-snowflake.ta
diff --git a/samples/graphics-tree.ta b/samples/math-tree.ta
index 5993475..5993475 100644
--- a/samples/graphics-tree.ta
+++ b/samples/math-tree.ta
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-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-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