Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2013-07-27 22:38:22 (GMT)
committer Walter Bender <walter@sugarlabs.org>2013-07-27 22:38:22 (GMT)
commita308a5425f6f7bed7fc15ba43d9bf3f1894083fa (patch)
treebd6a6c37615a6a69a8d391b0dc4e796c82638dd0
parentbf2d9ffa0052fbe2a025d871b9b3c5e91e9c7ff2 (diff)
remove extra stuffv187
-rw-r--r--pysamples/brain.py111
-rw-r--r--pysamples/copy_from_heap.py16
-rw-r--r--pysamples/csound.py148
-rw-r--r--pysamples/forward_push.py53
-rw-r--r--pysamples/grecord.py228
-rw-r--r--pysamples/journal-stats.py119
-rw-r--r--pysamples/load_block.py90
-rw-r--r--pysamples/load_file_to_heap.py30
-rw-r--r--pysamples/load_journal_entry_to_heap.py18
-rw-r--r--pysamples/paste_to_heap.py21
-rw-r--r--pysamples/push_mouse_event.py26
-rw-r--r--pysamples/push_time.py21
-rw-r--r--pysamples/save_heap_to_journal_entry.py39
-rw-r--r--pysamples/sensors.py33
-rw-r--r--pysamples/serial.py21
-rw-r--r--pysamples/set_rgb.py18
-rw-r--r--pysamples/sinewave.py15
-rw-r--r--pysamples/speak.py57
-rw-r--r--pysamples/svg_end_group.py21
-rw-r--r--pysamples/svg_start_group.py21
-rw-r--r--pysamples/ta-stats.py172
-rw-r--r--samples/game-basketball.ta114
-rw-r--r--samples/game-continents.ta263
-rw-r--r--samples/game-find-boston.ta379
-rw-r--r--samples/game-set.ta298
-rw-r--r--samples/game-shapes-and-color.ta392
-rw-r--r--samples/game-spiralaterals.ta64
-rw-r--r--samples/game-trianglepaint.ta648
-rw-r--r--samples/images/Africa.pngbin6671 -> 0 bytes
-rw-r--r--samples/images/Australia.pngbin6541 -> 0 bytes
-rw-r--r--samples/images/Boston.pngbin80909 -> 0 bytes
-rw-r--r--samples/images/COPYING36
-rw-r--r--samples/images/Eurasia.pngbin6900 -> 0 bytes
-rw-r--r--samples/images/Massachuetts.pngbin5324 -> 0 bytes
-rw-r--r--samples/images/New-England.pngbin12471 -> 0 bytes
-rw-r--r--samples/images/North_America.jpgbin35554 -> 0 bytes
-rw-r--r--samples/images/North_America.pngbin6782 -> 0 bytes
-rw-r--r--samples/images/Pythagoras.jpgbin28207 -> 0 bytes
-rw-r--r--samples/images/South_America.pngbin6601 -> 0 bytes
-rw-r--r--samples/images/United_States.pngbin48280 -> 0 bytes
-rw-r--r--samples/images/World_Map.pngbin6477 -> 0 bytes
-rw-r--r--samples/images/basketball-court1-a.pngbin14766 -> 0 bytes
-rw-r--r--samples/images/basketball.pngbin6143 -> 0 bytes
-rw-r--r--samples/images/earth.pngbin109088 -> 0 bytes
-rw-r--r--samples/images/me.jpgbin48896 -> 0 bytes
-rw-r--r--samples/images/turtle-a.pngbin107267 -> 0 bytes
-rw-r--r--samples/images/turtle-b.pngbin87746 -> 0 bytes
-rw-r--r--samples/math-Pythagoras.ta155
-rw-r--r--samples/math-cherlin.ta108
-rw-r--r--samples/math-dice.ta108
-rw-r--r--samples/math-forster.ta88
-rw-r--r--samples/math-fractions.ta119
-rw-r--r--samples/math-galton-path.ta63
-rw-r--r--samples/math-geometry.ta73
-rw-r--r--samples/math-heart-animation.tb84
-rw-r--r--samples/math-heart.tb57
-rw-r--r--samples/math-numeros.ta68
-rw-r--r--samples/math-prime-factors.ta476
-rw-r--r--samples/math-sierpquad.ta78
-rw-r--r--samples/math-sierpquad2.ta96
-rw-r--r--samples/math-sierptri.ta47
-rw-r--r--samples/math-sin-function.ta49
-rw-r--r--samples/math-tangents.ta90
-rw-r--r--samples/media-about-me.ta73
-rw-r--r--samples/media-alice.ta49
-rw-r--r--samples/media-journal-stats.ta53
-rw-r--r--samples/media-learning-experiences.ta256
-rw-r--r--samples/media-music.ta179
-rw-r--r--samples/media-que-como-por-que.ta129
-rw-r--r--samples/media-scratch.ta51
-rw-r--r--samples/media-turtle-stats.ta86
-rw-r--r--samples/media-what-how-why.ta129
-rw-r--r--samples/sensors-accelerometer.ta41
-rw-r--r--samples/sensors-graph.ta35
-rw-r--r--samples/sensors-loudness-monitor.ta74
-rw-r--r--samples/sensors-measure.ta57
-rw-r--r--samples/sensors-psuedo-color.ta32
-rw-r--r--samples/sensors-simple-paint.ta9
-rw-r--r--samples/sensors-soundpaint.ta14
-rw-r--r--samples/sensors-spectrum-analyzer.ta53
-rw-r--r--samples/sensors-turtle-sees.ta107
-rw-r--r--samples/sensors-valentine.ta107
-rw-r--r--samples/sensors-vumeter.ta67
-rw-r--r--samples/utility-clock.ta346
-rw-r--r--samples/utility-timer.ta81
85 files changed, 0 insertions, 7259 deletions
diff --git a/pysamples/brain.py b/pysamples/brain.py
deleted file mode 100644
index 33ee320..0000000
--- a/pysamples/brain.py
+++ /dev/null
@@ -1,111 +0,0 @@
-# A Turtle Block based on the Speak Activity interface to AIML
-# Copyright 2012 Walter Bender, Sugar Labs
-#
-# Copyright (C) 2008 Sebastian Silva Fundacion FuenteLibre
-# sebastian@fuentelibre.org
-#
-# Style and structure taken from Speak.activity Copyright (C) Joshua Minor
-#
-# HablarConSara.activity is free software: you can redistribute it
-# and/or modify it under the terms of the GNU General Public
-# License as published by the Free Software Foundation, either
-# version 3 of the License, or (at your option) any later version.
-#
-# HablarConSara.activity is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public
-# License along with HablarConSara.activity. If not, see
-# <http://www.gnu.org/licenses/>.
-
-
-def myblock(tw, text):
- ''' Dialog with AIML library: Usage: Load this code into a Python
- Block. Pass text as an argument and the robot's response will
- be pushed to the stack. Use a Pop Block to pop the response
- off the the stack.'''
-
- # The AIML library is bundled with the Speak activity
- SPEAKPATHS = ['/home/olpc/Activities/Speak.activity',
- '/home/liveuser/Activities/Speak.activity',
- '/usr/share/sugar/activities/Speak.activity']
- import os
- from gettext import gettext as _
- speakpath = None
- for sp in SPEAKPATHS:
- if os.path.exists(sp):
- speakpath = sp
- break
- if speakpath is None:
- tw.showlabel(
- 'status', _('Please install the Speak Activity and try again.'))
- return
- import sys
- sys.path.append(speakpath)
-
- import aiml
- import voice
-
- BOTS = {
- _('Spanish'): {'name': 'Sara',
- 'brain': os.path.join(speakpath, 'bot', 'sara.brn'),
- 'predicates': {'nombre_bot': 'Sara',
- 'botmaster': 'La comunidad Azucar'}},
- _('English'): {'name': 'Alice',
- 'brain': os.path.join(speakpath, 'bot', 'alice.brn'),
- 'predicates': {'name': 'Alice',
- 'master': 'The Sugar Community'}}}
-
- def get_mem_info(tag):
- meminfo = file('/proc/meminfo').readlines()
- return int([i for i in meminfo if i.startswith(tag)][0].split()[1])
-
- # load Standard AIML set for restricted systems
- if get_mem_info('MemTotal:') < 524288:
- mem_free = get_mem_info('MemFree:') + get_mem_info('Cached:')
- if mem_free < 102400:
- BOTS[_('English')]['brain'] = None
- else:
- BOTS[_('English')]['brain'] = os.path.join(speakpath, 'bot',
- 'alisochka.brn')
-
- def get_default_voice():
- default_voice = voice.defaultVoice()
- if default_voice.friendlyname not in BOTS:
- return voice.allVoices()[_('English')]
- else:
- return default_voice
-
- def brain_respond(kernel, text):
- if kernel is not None:
- text = kernel.respond(text)
- if kernel is None or not text:
- text = ''
- tw.showlabel(
- 'status',
- _("Sorry, I can't understand what you are asking about."))
- return text
-
- def brain_load(kernel, voice):
- brain = BOTS[voice.friendlyname]
- kernel = aiml.Kernel()
-
- if brain['brain'] is None:
- tw.showlabel(
- 'status', _('Sorry, there is no free memory to load my brain. \
-Close other activities and try once more.'))
- return kernel
-
- kernel.loadBrain(brain['brain'])
- for name, value in brain['predicates'].items():
- kernel.setBotPredicate(name, value)
-
- return kernel
-
- if not hasattr(tw, 'aiml_kernel'):
- tw.aiml_kernel = brain_load(tw, get_default_voice())
- response_text = brain_respond(tw.aiml_kernel, text)
- tw.lc.heap.append(response_text)
- return
diff --git a/pysamples/copy_from_heap.py b/pysamples/copy_from_heap.py
deleted file mode 100644
index fbca999..0000000
--- a/pysamples/copy_from_heap.py
+++ /dev/null
@@ -1,16 +0,0 @@
-#Copyright (c) 2010-11, Walter Bender, Tony Forster
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected.
-
-# Usage: Import this code into a Python (user-definable) block; when
-# this code is run, the FILO heap will be copied to the clipboard.
-
-
-def myblock(tw, x): # second argument is ignored
- ''' Copy heap to clipboard '''
-
- from gtk import Clipboard
- from TurtleArt.tautils import data_to_string
-
- Clipboard().set_text(data_to_string(tw.lc.heap))
diff --git a/pysamples/csound.py b/pysamples/csound.py
deleted file mode 100644
index a935674..0000000
--- a/pysamples/csound.py
+++ /dev/null
@@ -1,148 +0,0 @@
-#Copyright (c) 2011 Walter Bender
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected.
-
-# Usage: Import this code into a Python (user-definable) block and
-# pass a sound name Python block. The sound will play.
-# Alternatively, pass a pitch, amplitude, and duration, e.g., 440, 5000, 1
-
-# Note: Assumes TamTam suite is installed in ~/Activities
-
-
-def myblock(tw, sound):
- ''' Plays a sound file '''
-
- from TurtleArt.tautils import get_path
- import os
-
- dirs = [os.path.join(
- os.environ['HOME'],
- 'Activities/TamTamMini.activity/common/Resources/Sounds/')]
- orchlines = []
- scorelines = []
- instrlist = []
-
- def finddir():
- for d in dirs:
- if os.path.isdir(d):
- return d
-
- def playSine(pitch=1000, amplitude=5000, duration=1, starttime=0,
- pitch_envelope='default', amplitude_envelope='default'):
- """ Create a score to play a sine wave. """
- _play(pitch, amplitude, duration, starttime, pitch_envelope,
- amplitude_envelope, 1)
-
- def _play(pitch, amplitude, duration, starttime, pitch_envelope,
- amplitude_envelope, instrument):
- if pitch_envelope == 'default':
- pitenv = 99
- else:
- pitenv = pitch_envelope
-
- if amplitude_envelope == 'default':
- ampenv = 100
- else:
- ampenv = amplitude_envelope
-
- if not 1 in instrlist:
- orchlines.append("instr 1\n")
- orchlines.append("kpitenv oscil 1, 1/p3, p6\n")
- orchlines.append("aenv oscil 1, 1/p3, p7\n")
- orchlines.append("asig oscil p5*aenv, p4*kpitenv, p8\n")
- orchlines.append("out asig\n")
- orchlines.append("endin\n\n")
- instrlist.append(1)
-
- scorelines.append("i1 %s %s %s %s %s %s %s\n" %
- (str(starttime), str(duration), str(pitch),
- str(amplitude), str(pitenv), str(ampenv),
- str(instrument)))
-
- def playWave(sound='horse', pitch=1, amplitude=1, loop=False, duration=1,
- starttime=0, pitch_envelope='default',
- amplitude_envelope='default'):
- """ Create a score to play a wave file. """
-
- if '/' in sound:
- fullname = sound
- else:
- fullname = finddir() + str(sound)
-
- if loop:
- lp = 1
- else:
- lp = 0
-
- if pitch_envelope == 'default':
- pitenv = 99
- else:
- pitenv = pitch_envelope
-
- if amplitude_envelope == 'default':
- ampenv = 100
- else:
- ampenv = amplitude_envelope
-
- if not 9 in instrlist:
- orchlines.append("instr 9\n")
- orchlines.append("kpitenv oscil 1, 1/p3, p8\n")
- orchlines.append("aenv oscil 1, 1/p3, p9\n")
- orchlines.append("asig diskin p4, p5*kpitenv, 0, p7\n")
- orchlines.append("out asig*p6*aenv\n")
- orchlines.append("endin\n\n")
- instrlist.append(9)
-
- scorelines.append('i9 %f %f "%s" %s %s %s %s %s\n' %
- (float(starttime), float(duration), fullname,
- str(pitch), str(amplitude), str(lp), str(pitenv),
- str(ampenv)))
-
- def audioWrite(file):
- """ Compile a .csd file. """
-
- csd = open(file, "w")
- csd.write("<CsoundSynthesizer>\n\n")
- csd.write("<CsOptions>\n")
- csd.write("-+rtaudio=alsa -odevaudio -m0 -d -b256 -B512\n")
- csd.write("</CsOptions>\n\n")
- csd.write("<CsInstruments>\n\n")
- csd.write("sr=16000\n")
- csd.write("ksmps=50\n")
- csd.write("nchnls=1\n\n")
- # csd.write(orchlines.pop())
- for line in orchlines:
- csd.write(line)
- csd.write("\n</CsInstruments>\n\n")
- csd.write("<CsScore>\n\n")
- csd.write("f1 0 2048 10 1\n")
- csd.write("f2 0 2048 10 1 0 .33 0 .2 0 .143 0 .111\n")
- csd.write("f3 0 2048 10 1 .5 .33 .25 .2 .175 .143 .125 .111 .1\n")
- csd.write("f10 0 2048 10 1 0 0 .3 0 .2 0 0 .1\n")
- csd.write("f99 0 2048 7 1 2048 1\n")
- csd.write("f100 0 2048 7 0. 10 1. 1900 1. 132 0.\n")
- csd.write(scorelines.pop())
- csd.write("e\n")
- csd.write("\n</CsScore>\n")
- csd.write("\n</CsoundSynthesizer>")
- csd.close()
-
- if type(sound) == float:
- playSine(pitch=float(sound))
- elif type(sound) == list: # Create a score by computing a sinewave.
- if len(sound) == 1:
- playSine(pitch=float(sound[0]))
- elif len(sound) == 2:
- playSine(pitch=float(sound[0]), amplitude=float(sound[1]))
- else:
- playSine(pitch=float(sound[0]), amplitude=float(sound[1]),
- duration=float(sound[2]))
- else: # Create a score from a prerecorded Wave file.
- playWave(sound)
- if tw.running_sugar:
- path = os.path.join(get_path(tw.activity, 'instance'), 'tmp.csd')
- else:
- path = os.path.join('/tmp', 'tmp.csd')
- audioWrite(path) # Create a csound file from the score.
- os.system('csound ' + path) # Play the csound file.
diff --git a/pysamples/forward_push.py b/pysamples/forward_push.py
deleted file mode 100644
index b98c726..0000000
--- a/pysamples/forward_push.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#Copyright (c) 2012, Walter Bender
-
-# Usage: Import this code into a Python (user-definable) block; when
-# this code is run, the turtle will draw a line of the length of the
-# numeric argument block docked to the Python block. But before
-# drawing the line, it pushes the rgb values of the destination to the
-# FILO.
-
-
-def myblock(tw, name):
- ''' '''
-
- def _prim_forward_push(tw, line_length):
- try: # make sure line_length is a number
- line_length = float(line_length)
- except ValueError:
- return
- penstatus = tw.canvas.pendown
- tw.canvas.setpen(False)
- tw.canvas.forward(line_length)
- r, g, b, a = tw.canvas.get_pixel()
- tw.lc.heap.append(b)
- tw.lc.heap.append(g)
- tw.lc.heap.append(r)
- tw.canvas.forward(-line_length)
- tw.canvas.setpen(penstatus)
- tw.canvas.forward(line_length)
- return
-
- from TurtleArt.tapalette import make_palette, palette_name_to_index
- from TurtleArt.talogo import primitive_dictionary
- from gettext import gettext as _
-
- # Choose a palette for the new block.
- palette = make_palette('turtle')
-
- primitive_dictionary['forwardpush'] = _prim_forward_push
-
- # Create a new block prototype.
- palette.add_block('forwardpush',
- style='basic-style-1arg',
- label=name,
- default=100,
- prim_name='forwardpush',
- help_string=_('push destination rgb value to heap'))
-
- # Add its primitive to the LogoCode dictionary.
- tw.lc.def_prim('forwardpush', 1,
- lambda self, x: primitive_dictionary['forwardpush'](tw, x))
-
- # Regenerate the palette, which will now include the new block.
- tw.show_toolbar_palette(palette_name_to_index('turtle'),
- regenerate=True)
diff --git a/pysamples/grecord.py b/pysamples/grecord.py
deleted file mode 100644
index a28b82c..0000000
--- a/pysamples/grecord.py
+++ /dev/null
@@ -1,228 +0,0 @@
-#Copyright (c) 2008, Media Modifications Ltd.
-#Copyright (c) 2011, Walter Bender
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected.
-
-# Usage: Import this code into a Python (user-definable) block; Pass
-# it 'start' to start recording; 'stop' to stop recording; 'play' to
-# play back your recording; or 'save' to save your recording to the
-# Sugar Journal.
-
-
-def myblock(tw, arg):
- ''' Record and playback a sound (Sugar only) '''
- import os
- import gst
- import gobject
- gobject.threads_init()
-
- from TurtleArt.tautils import get_path
- from TurtleArt.tagplay import play_audio_from_file
- from sugar.datastore import datastore
- from sugar import profile
-
- from gettext import gettext as _
-
- class Grecord:
- ''' A class for creating a gstreamer session for recording audio. '''
-
- def __init__(self, tw):
- ''' Set up the stream. We save to a raw .wav file and then
- convert the sound to .ogg for saving. '''
- datapath = get_path(tw.parent, 'instance')
- self.capture_file = os.path.join(datapath, 'output.wav')
- self.save_file = os.path.join(datapath, 'output.ogg')
- self._eos_cb = None
-
- self._can_limit_framerate = False
- self._recording = False
-
- self._audio_transcode_handler = None
- self._transcode_id = None
-
- self._pipeline = gst.Pipeline("Record")
- self._create_audiobin()
- self._pipeline.add(self._audiobin)
-
- bus = self._pipeline.get_bus()
- bus.add_signal_watch()
- bus.connect('message', self._bus_message_handler)
-
- def _create_audiobin(self):
- ''' Assemble all the pieces we need. '''
- src = gst.element_factory_make("alsasrc", "absrc")
-
- # attempt to use direct access to the 0,0 device, solving
- # some A/V sync issues
- src.set_property("device", "plughw:0,0")
- hwdev_available = src.set_state(gst.STATE_PAUSED) != \
- gst.STATE_CHANGE_FAILURE
- src.set_state(gst.STATE_NULL)
- if not hwdev_available:
- src.set_property("device", "default")
-
- srccaps = gst.Caps(
- "audio/x-raw-int,rate=16000,channels=1,depth=16")
-
- # guarantee perfect stream, important for A/V sync
- rate = gst.element_factory_make("audiorate")
-
- # without a buffer here, gstreamer struggles at the start
- # of the recording and then the A/V sync is bad for the
- # whole video (possibly a gstreamer/ALSA bug -- even if it
- # gets caught up, it should be able to resync without
- # problem)
- queue = gst.element_factory_make("queue", "audioqueue")
- queue.set_property("leaky", True) # prefer fresh data
- queue.set_property("max-size-time", 5000000000) # 5 seconds
- queue.set_property("max-size-buffers", 500)
- queue.connect("overrun", self._log_queue_overrun)
-
- enc = gst.element_factory_make("wavenc", "abenc")
-
- sink = gst.element_factory_make("filesink", "absink")
- sink.set_property("location", self.capture_file)
-
- self._audiobin = gst.Bin("audiobin")
- self._audiobin.add(src, rate, queue, enc, sink)
-
- src.link(rate, srccaps)
- gst.element_link_many(rate, queue, enc, sink)
-
- def _log_queue_overrun(self, queue):
- ''' We use a buffer, which may overflow. '''
- cbuffers = queue.get_property("current-level-buffers")
- cbytes = queue.get_property("current-level-bytes")
- ctime = queue.get_property("current-level-time")
-
- def is_recording(self):
- ''' Are we recording? '''
- return self._recording
-
- def _get_state(self):
- ''' What is the state of our gstreamer pipeline? '''
- return self._pipeline.get_state()[1]
-
- def start_recording_audio(self):
- ''' Start the stream in order to start recording. '''
- if self._get_state() == gst.STATE_PLAYING:
- return
- self._pipeline.set_state(gst.STATE_PLAYING)
- self._recording = True
-
- def stop_recording_audio(self):
- ''' Stop recording and then convert the results into a
- .ogg file using a new stream. '''
- self._pipeline.set_state(gst.STATE_NULL)
- self._recording = False
-
- if not os.path.exists(self.capture_file) or \
- os.path.getsize(self.capture_file) <= 0:
- return
-
- # Remove previous transcoding results.
- if os.path.exists(self.save_file):
- os.remove(self.save_file)
-
- line = 'filesrc location=' + self.capture_file + \
- ' name=audioFilesrc ! wavparse name=audioWavparse \
-! audioconvert name=audioAudioconvert ! vorbisenc name=audioVorbisenc \
-! oggmux name=audioOggmux ! filesink name=audioFilesink'
- audioline = gst.parse_launch(line)
-
- # vorbis_enc = audioline.get_by_name('audioVorbisenc')
-
- audioFilesink = audioline.get_by_name('audioFilesink')
- audioFilesink.set_property("location", self.save_file)
-
- audioBus = audioline.get_bus()
- audioBus.add_signal_watch()
- self._audio_transcode_handler = audioBus.connect(
- 'message', self._onMuxedAudioMessageCb, audioline)
- self._transcode_id = gobject.timeout_add(
- 200, self._transcodeUpdateCb, audioline)
- audioline.set_state(gst.STATE_PLAYING)
-
- def _transcodeUpdateCb(self, pipe):
- ''' Where are we in the transcoding process? '''
- position, duration = self._query_position(pipe)
- if position != gst.CLOCK_TIME_NONE:
- value = position * 100.0 / duration
- value = value/100.0
- return True
-
- def _query_position(self, pipe):
- ''' Where are we in the stream? '''
- try:
- position, format = pipe.query_position(gst.FORMAT_TIME)
- except:
- position = gst.CLOCK_TIME_NONE
-
- try:
- duration, format = pipe.query_duration(gst.FORMAT_TIME)
- except:
- duration = gst.CLOCK_TIME_NONE
-
- return (position, duration)
-
- def _onMuxedAudioMessageCb(self, bus, message, pipe):
- ''' Clean up at end of stream.'''
- if message.type != gst.MESSAGE_EOS:
- return True
-
- gobject.source_remove(self._audio_transcode_handler)
- self._audio_transcode_handler = None
- gobject.source_remove(self._transcode_id)
- self._transcode_id = None
- pipe.set_state(gst.STATE_NULL)
- pipe.get_bus().remove_signal_watch()
- pipe.get_bus().disable_sync_message_emission()
-
- os.remove(self.capture_file)
- return False
-
- def _bus_message_handler(self, bus, message):
- ''' Handle any messages associated with the stream. '''
- t = message.type
- if t == gst.MESSAGE_EOS:
- if self._eos_cb:
- cb = self._eos_cb
- self._eos_cb = None
- cb()
- elif t == gst.MESSAGE_ERROR:
- # TODO: if we come out of suspend/resume with errors, then
- # get us back up and running... TODO: handle "No space
- # left on the resource.gstfilesink.c" err, debug =
- # message.parse_error()
- pass
-
- # We store the audio-record stream instance as tw.grecord so that
- # we can use it repeatedly.
- if not hasattr(tw, 'grecord'):
- tw.grecord = Grecord(tw)
-
- # Sometime we need to parse multiple arguments, e.g., save, savename
- save_name = '%s_%s' % (tw.activity.name, _('sound'))
- if isinstance(arg, list):
- cmd = arg[0].lower()
- if len(arg) > 1:
- save_name = str(arg[1])
- else:
- cmd = arg.lower()
-
- if cmd == 'start' or cmd == _('start').lower():
- tw.grecord.start_recording_audio()
- elif cmd == 'stop' or cmd == _('stop').lower():
- tw.grecord.stop_recording_audio()
- elif cmd == 'play' or cmd == _('play').lower():
- play_audio_from_file(tw.lc, tw.grecord.save_file)
- elif cmd == 'save' or cmd == _('save').lower():
- if os.path.exists(tw.grecord.save_file) and tw.running_sugar:
- dsobject = datastore.create()
- dsobject.metadata['title'] = save_name
- dsobject.metadata['icon-color'] = profile.get_color().to_string()
- dsobject.metadata['mime_type'] = 'audio/ogg'
- dsobject.set_file_path(tw.grecord.save_file)
- datastore.write(dsobject)
- dsobject.destroy()
diff --git a/pysamples/journal-stats.py b/pysamples/journal-stats.py
deleted file mode 100644
index 1342a69..0000000
--- a/pysamples/journal-stats.py
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright (c) 2012, Walter Bender
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-def myblock(tw, x): # ignore second argument
- ''' Load journal stats to heap (Sugar only) '''
-
- import os
- import glob
- from gettext import gettext as _
-
- MAX = 19
- DIROFINTEREST = 'datastore'
-
- class ParseJournal():
- ''' Simple parser of datastore '''
-
- def __init__(self):
- self._dsdict = {}
- self._activity_name = []
- self._activity_count = []
-
- homepath = os.environ['HOME']
- for path in glob.glob(os.path.join(homepath, '.sugar', '*')):
- if isdsdir(path):
- self._dsdict[os.path.basename(path)] = []
- dsobjdirs = glob.glob(
- os.path.join(path, DIROFINTEREST, '??'))
- for dsobjdir in dsobjdirs:
- dsobjs = glob.glob(os.path.join(dsobjdir, '*'))
- for dsobj in dsobjs:
- self._dsdict[os.path.basename(path)].append({})
- activity = isactivity(dsobj)
- if not activity:
- self._dsdict[os.path.basename(path)][-1][
- 'activity'] = 'media object'
- else:
- self._dsdict[os.path.basename(path)][-1][
- 'activity'] = activity
-
- for k, v in self._dsdict.iteritems():
- for a in v:
- if 'activity' in a:
- if a['activity'] in self._activity_name:
- i = self._activity_name.index(a['activity'])
- self._activity_count[i] += 1
- else:
- self._activity_name.append(a['activity'])
- self._activity_count.append(1)
-
- def get_sorted(self):
- activity_tuples = []
- for i in range(len(self._activity_name)):
- activity_tuples.append((self._activity_name[i],
- self._activity_count[i]))
- sorted_tuples = sorted(activity_tuples, key=lambda x: x[1])
- activity_list = []
- count = 0
- length = len(sorted_tuples)
- for i in range(length):
- if i < MAX:
- activity_list.append([sorted_tuples[length - i - 1][0],
- sorted_tuples[length - i - 1][1]])
- else:
- count += sorted_tuples[length - i - 1][1]
- if count > 0:
- activity_list.append([_('other'), count])
- return activity_list
-
- def hascomponent(path, component):
- ''' Return metadata attribute, if any '''
- if not os.path.exists(os.path.join(path, 'metadata')):
- return False
- if not os.path.exists(os.path.join(path, 'metadata', component)):
- return False
- fd = open(os.path.join(path, 'metadata', component))
- data = fd.readline()
- fd.close()
- if len(data) == 0:
- return False
- return data
-
- def isactivity(path):
- ''' Return activity name '''
- activity = hascomponent(path, 'activity')
- if not activity:
- return False
- else:
- return activity.split('.')[-1]
-
- def isdsdir(path):
- ''' Only interested if it is a datastore directory '''
- if not os.path.isdir(path):
- return False
- if not os.path.exists(os.path.join(path, DIROFINTEREST)):
- return False
- return True
-
- data = ParseJournal()
- activity_list = data.get_sorted()
- for a in activity_list:
- tw.lc.heap.append(a[0])
- tw.lc.heap.append(a[1])
-
- tw.lc.heap.append(activity_list[0][1])
- return
diff --git a/pysamples/load_block.py b/pysamples/load_block.py
deleted file mode 100644
index a4f680d..0000000
--- a/pysamples/load_block.py
+++ /dev/null
@@ -1,90 +0,0 @@
-#Copyright (c) 2011,2012 Walter Bender
-
-# DEPRECATED by load block on extras palette.
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected.
-
-# Usage: Import this code into a Python (user-definable) block; when
-# this code is run, the turtle will create a block at the current
-# location of the turtle. The first argument to the Python block
-# should be a string containing the name of the desired
-# block. Arguments to the block can be passed by expanding the Python
-# block to include up to two additional arguments. Note that the
-# turtle is moved to the bottom of the block after it is loaded in
-# order position another block to the bottom of the stack.
-
-# The status of these blocks is set to 'load block'
-
-# For example, try the following to place forward 100, right 90 on the canvas:
-# start
-# Python(forward, 100) <-- Python load_block.py expanded to two arguments
-# Python(right, 90) <-- Python load_block.py expanded to two arguments
-
-
-def myblock(tw, blkname):
- ''' Load a block on to the canvas '''
-
- from TurtleArt.tapalette import block_names, block_primitives, \
- special_names, content_blocks
- from TurtleArt.tautils import find_group
-
- def make_block(tw, name, x, y, defaults):
- tw._new_block(name, x, y, defaults)
-
- # Find the block we just created and attach it to a stack.
- tw.drag_group = None
- spr = tw.sprite_list.find_sprite((x, y))
- if spr is not None:
- blk = tw.block_list.spr_to_block(spr)
- if blk is not None:
- tw.drag_group = find_group(blk)
- for b in tw.drag_group:
- b.status = 'load block'
- tw._snap_to_dock()
-
- # Disassociate new block from mouse.
- tw.drag_group = None
- return blk.docks[-1][3]
-
- def find_block(tw, blkname, x, y, defaults=None):
- """ Create a new block. It is a bit more work than just calling
- _new_block(). We need to:
- (1) translate the label name into the internal block name;
- (2) 'dock' the block onto a stack where appropriate; and
- (3) disassociate the new block from the mouse. """
-
- for name in block_names:
- # Translate label name into block/prim name.
- if blkname in block_names[name]:
- if name in block_primitives and \
- block_primitives[name] == name:
- return make_block(tw, name, x, y, defaults)
- elif name in content_blocks:
- return make_block(tw, name, x, y, defaults)
- for name in special_names:
- # Translate label name into block/prim name.
- if blkname in special_names[name]:
- return make_block(tw, name, x, y, defaults)
- return -1
-
- # Place the block at the active turtle (x, y) and move the turtle
- # into position to place the next block in the stack.
- x, y = tw.active_turtle.get_xy()
- if isinstance(blkname, list):
- name = blkname[0]
- value = blkname[1:]
- dy = int(find_block(tw, name, x, y, value))
- else:
- name = blkname
- if name == 'delete':
- for blk in tw.just_blocks():
- if blk.status == 'load block':
- blk.type = 'trash'
- blk.spr.hide()
- dy = 0
- else:
- dy = int(find_block(tw, name, x, y))
-
- tw.canvas.ypos -= dy
- tw.canvas.move_turtle()
diff --git a/pysamples/load_file_to_heap.py b/pysamples/load_file_to_heap.py
deleted file mode 100644
index 919d6b5..0000000
--- a/pysamples/load_file_to_heap.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#Copyright (c) 2010-11, Walter Bender, Tony Forster
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected.
-
-# Usage: Import this code into a Python (user-definable) block; when
-# this code is run, the chooser will be opened for selecting a file
-# from the GNU/Linux file system. The contents of that file will be
-# loaded onto the FILO heap. Data is assumed to be json encoded.
-
-
-def myblock(tw, path):
- ''' Load heap from file (GNOME only) '''
-
- import os
- from TurtleArt.tautils import get_load_name, data_from_file
-
- if type(path) == float:
- path = ''
-
- if not os.path.exists(path):
- path, tw.load_save_folder = get_load_name('.*', tw.load_save_folder)
- if path is None:
- return
-
- data = data_from_file(path)
- if data is not None:
- for val in data:
- tw.lc.heap.append(val)
- tw.lc.update_label_value('pop', tw.lc.heap[-1])
diff --git a/pysamples/load_journal_entry_to_heap.py b/pysamples/load_journal_entry_to_heap.py
deleted file mode 100644
index 3dd3bb5..0000000
--- a/pysamples/load_journal_entry_to_heap.py
+++ /dev/null
@@ -1,18 +0,0 @@
-#Copyright (c) 2010-11, Walter Bender, Tony Forster
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected.
-
-# Usage: Import this code into a Python (user-definable) block; when
-# this code is run, the chooser will be opened for selecting a file
-# from the Journal. The contents of that file will be loaded onto the
-# FILO heap.
-
-
-def myblock(tw, x): # ignore second argument
- ''' Load heap from journal (Sugar only) '''
-
- from TurtleArt.tautils import chooser
-
- # Choose a datastore object and push data to heap (Sugar only)
- chooser(tw.parent, '', tw.lc.push_file_data_to_heap)
diff --git a/pysamples/paste_to_heap.py b/pysamples/paste_to_heap.py
deleted file mode 100644
index 0371078..0000000
--- a/pysamples/paste_to_heap.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#Copyright (c) 2010-11, Walter Bender, Tony Forster
-
-# This procedure is invoked when the user-definable block on the "extras"
-# palette is selected.
-
-# Usage: Import this code into a Python (user-definable) block; when
-# this code is run, the contents of the clipboard will be appended to
-# the FILO heap.
-
-
-def myblock(tw, x): # ignore second argument
- ''' Paste from clipboard to heap '''
-
- from gtk import Clipboard
- from tautils import data_from_string
-
- text = Clipboard().wait_for_text()
- if text is not None:
- for val in data_from_string(text):
- tw.lc.heap.append(val)
- tw.lc.update_label_value('pop', val)
diff --git a/pysamples/push_mouse_event.py b/pysamples/push_mouse_event.py
deleted file mode 100644
index 007c092..0000000
--- a/pysamples/push_mouse_event.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#Copyright (c) 2009-11, Walter Bender, Tony Forster
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected.
-
-# Usage: Import this code into a Python (user-definable) block; when
-# this code is run, the current mouse status will be pushed to the
-# FILO heap. If a mouse button event occurs, a y, x, and 1 are pushed
-# to the heap. If no button is pressed, 0 is pushed to the heap.
-
-# To use these data, pop the heap in a compare block to determine if a
-# button has been pushed. If a 1 was popped from the heap, pop the x
-# and y coordinates.
-
-
-def myblock(tw, x): # ignore second argument
- ''' Push mouse event to stack '''
-
- if tw.mouse_flag == 1:
- # push y first so x will be popped first
- tw.lc.heap.append((tw.canvas.height / 2) - tw.mouse_y)
- tw.lc.heap.append(tw.mouse_x - (tw.canvas.width / 2))
- tw.lc.heap.append(1) # mouse event
- tw.mouse_flag = 0
- else:
- tw.lc.heap.append(0) # no mouse event
diff --git a/pysamples/push_time.py b/pysamples/push_time.py
deleted file mode 100644
index 5f86be4..0000000
--- a/pysamples/push_time.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#Copyright (c) 2009-11, Walter Bender
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected.
-
-# Usage: Import this code into a Python (user-definable) block; when
-# this code is run, the current hour, minute, and second are pushed to
-# the FILO heap. To use these values, pop second, then minute, then
-# hour from the FILO.
-
-
-def myblock(tw, x): # ignore second argument
- ''' Push hours, minutes, seconds onto the FILO. '''
-
- # Use three 'pop' blocks to retrieve these values.
- # Note: because we use a FILO (first in, last out heap),
- # the first value you pop off of the FILO will be seconds.
-
- tw.lc.heap.append(localtime().tm_hour)
- tw.lc.heap.append(localtime().tm_min)
- tw.lc.heap.append(localtime().tm_sec)
diff --git a/pysamples/save_heap_to_journal_entry.py b/pysamples/save_heap_to_journal_entry.py
deleted file mode 100644
index a06d4d0..0000000
--- a/pysamples/save_heap_to_journal_entry.py
+++ /dev/null
@@ -1,39 +0,0 @@
-#Copyright (c) 2010-11, Walter Bender, Tony Forster
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected.
-
-# Usage: Import this code into a Python (user-definable) block; when
-# this code is run, the contents of the FILO heap are saved to a
-# Journal entry named by the value of the argument to the Python
-# block.
-
-
-def myblock(tw, title):
- ''' Save heap to journal (Sugar only) '''
-
- import os.path
- from gettext import gettext as _
-
- from sugar.activity import activity
- from sugar.datastore import datastore
- from sugar import profile
-
- from TurtleArt.tautils import get_path, data_to_file
-
- # Save JSON-encoded heap to temporary file
- heap_file = os.path.join(get_path(activity, 'instance'),
- str(title) + '.txt')
- data_to_file(tw.lc.heap, heap_file)
-
- # Create a datastore object
- dsobject = datastore.create()
-
- # Write any metadata (specifically set the title of the file
- # and specify that this is a plain text file).
- dsobject.metadata['title'] = str(title)
- dsobject.metadata['icon-color'] = profile.get_color().to_string()
- dsobject.metadata['mime_type'] = 'text/plain'
- dsobject.set_file_path(heap_file)
- datastore.write(dsobject)
- dsobject.destroy()
diff --git a/pysamples/sensors.py b/pysamples/sensors.py
deleted file mode 100644
index d95b311..0000000
--- a/pysamples/sensors.py
+++ /dev/null
@@ -1,33 +0,0 @@
-#Copyright (c) 2010-11, Walter Bender, Tony Forster
-#
-# This Python block returns with the brightness sensor value in the heap
-# a range of parameters can be measured, for example, substitute any of
-# these strings for the string in the program below.
-#
-# /sys/devices/platform/olpc-battery.0/power_supply/olpc-battery/current_now
-# /sys/devices/platform/olpc-battery.0/power_supply/olpc-battery/voltage_now
-# /sys/devices/platform/dcon/backlight/dcon-bl/actual_brightness
-
-
-def myblock(tw, x): # ignores second argument
- import os
-
- # The light sensor is only available on the XO 1.75
- device = '/sys/devices/platform/olpc-ols.0/level'
-
- if os.path.exists(device):
- fh = open(device)
- string = fh.read()
- fh.close()
- tw.lc.heap.append(float(string)) # append as a float value to the heap
- else:
- tw.lc.heap.append(-1)
-
-# If you can work out how to use them...
-# accelerometer: /dev/input/event0 ???
-# power button: /dev/input/event1
-# lid switch: /dev/input/event2
-# ebook: /dev/input/event3
-# headphone jack: /dev/input/event7
-# microphone jack: /dev/input/event8
-# rotate, cursor, and game pad keys: /dev/input/event10
diff --git a/pysamples/serial.py b/pysamples/serial.py
deleted file mode 100644
index 84772ab..0000000
--- a/pysamples/serial.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#Copyright (c) 2010-11, Walter Bender, Tony Forster
-#
-# This Python block writes serial output to a USB port and pushes
-# serial input to the heap.
-#
-# To use this block:
-# (1) import this file into a Python Block;
-# (2) pass text strings as an argument
-# (3) use a Pop Block to retrieve any strings input from serial device.
-
-
-def myblock(tw, x): # x is the string to transmit
- import serial # you may need to install this library
-
- # serial device on USB, 9600 baud
- ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
-
- ser.write(str(x)) # send string x
- st = ser.read(1000) # read up to 1000 bytes
- tw.lc.heap.append(st) # append to heap
- ser.close()
diff --git a/pysamples/set_rgb.py b/pysamples/set_rgb.py
deleted file mode 100644
index b77d9df..0000000
--- a/pysamples/set_rgb.py
+++ /dev/null
@@ -1,18 +0,0 @@
-#Copyright (c) 2009-11, Walter Bender
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected and expanded to 3 arguments.
-
-# Usage: Import this code into a Python (user-definable) block.
-# First, expand the Python block to reveal three numerics arguments.
-# Set these values to the desired red, green, and blue. When the code
-# is run, the red, green, and blue values are used to set the pen
-# color.
-
-
-def myblock(tw, rgb_array):
- ''' Set rgb color from values '''
-
- tw.canvas.fgrgb = [(int(rgb_array[0]) % 256),
- (int(rgb_array[1]) % 256),
- (int(rgb_array[2]) % 256)]
diff --git a/pysamples/sinewave.py b/pysamples/sinewave.py
deleted file mode 100644
index 4f14c4c..0000000
--- a/pysamples/sinewave.py
+++ /dev/null
@@ -1,15 +0,0 @@
-#Copyright (c) 2010-11, Tony Forster
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected.
-
-# Usage: Import this code into a Python (user-definable) block and
-# pass a frequency in Hertz to the Python block. A tone will play over
-# the speaker at the specified frequency.
-
-
-def myblock(tw, frequency):
- ''' Plays a sound at frequency frequency '''
-
- import os
- os.system('speaker-test -t sine -l 1 -f %d' % (int(frequency)))
diff --git a/pysamples/speak.py b/pysamples/speak.py
deleted file mode 100644
index 30762a9..0000000
--- a/pysamples/speak.py
+++ /dev/null
@@ -1,57 +0,0 @@
-#Copyright (c) 2009-11, Walter Bender, Tony Forster
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected.
-
-# Usage: Import this code into a Python (user-definable) block and
-# pass a string to be read by the voice synthesizer. If a second
-# argument is passed, by expanding the Python block, it is used to specify
-# the pitch level of the speaker. Valid range is 0 to 99.
-
-
-def myblock(tw, arg):
- ''' Text to speech '''
-
- TABLE = {'af': 'afrikaans', 'cy': 'welsh-test', 'el': 'greek',
- 'es': 'spanish', 'hi': 'hindi-test', 'hy': 'armenian',
- 'ku': 'kurdish', 'mk': 'macedonian-test', 'pt': 'brazil',
- 'sk': 'slovak', 'sw': 'swahili', 'bs': 'bosnian', 'da': 'danish',
- 'en': 'english', 'fi': 'finnish', 'hr': 'croatian',
- 'id': 'indonesian-test', 'la': 'latin', 'nl': 'dutch-test',
- 'sq': 'albanian', 'ta': 'tamil', 'vi': 'vietnam-test',
- 'ca': 'catalan', 'de': 'german', 'eo': 'esperanto',
- 'fr': 'french', 'hu': 'hungarian', 'is': 'icelandic-test',
- 'lv': 'latvian', 'no': 'norwegian', 'ro': 'romanian',
- 'sr': 'serbian', 'zh': 'Mandarin', 'cs': 'czech', 'it': 'italian',
- 'pl': 'polish', 'ru': 'russian_test', 'sv': 'swedish',
- 'tr': 'turkish'}
- import os
-
- pitch = None
- if type(arg) == type([]):
- text = arg[0]
- if len(arg) > 1:
- pitch = int(arg[1])
- if pitch > 99:
- pitch = 99
- elif pitch < 0:
- pitch = 0
- else:
- text = arg
-
- # Turtle Art numbers are passed as float,
- # but they may be integer values.
- if type(text) == float and int(text) == text:
- text = int(text)
-
- lang = os.environ['LANG'][0:2]
- if lang in TABLE:
- language_option = '-v ' + TABLE[lang]
- else:
- language_option = ''
- if pitch is None:
- os.system('espeak %s "%s" --stdout | aplay' % (language_option,
- text))
- else:
- os.system('espeak %s "%s" -p "%s" --stdout | aplay' % (
- language_option, text, pitch))
diff --git a/pysamples/svg_end_group.py b/pysamples/svg_end_group.py
deleted file mode 100644
index 3f5f495..0000000
--- a/pysamples/svg_end_group.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#Copyright (c) 2009-11, Walter Bender
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected and expanded to 3 arguments.
-
-# Usage: Import this code into a Python (user-definable) block.
-# In using SVG, it is sometimes useful to divide your drawing into
-# groups of elements. You can do that by inserting <g> </g> around
-# sections of your code.
-#
-# Place the svg_start_group.py block at the point in your program
-# where you'd like to start a group in your SVG output.
-#
-# Be sure to use the corresponding svg_end_group.py block to close
-# the SVG group definition.
-
-
-def myblock(tw, x):
- ''' Add end group to SVG output '''
-
- tw.svg_string += '</g>'
diff --git a/pysamples/svg_start_group.py b/pysamples/svg_start_group.py
deleted file mode 100644
index e3332bf..0000000
--- a/pysamples/svg_start_group.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#Copyright (c) 2009-11, Walter Bender
-
-# This procedure is invoked when the user-definable block on the
-# "extras" palette is selected and expanded to 3 arguments.
-
-# Usage: Import this code into a Python (user-definable) block.
-# In using SVG, it is sometimes useful to divide your drawing into
-# groups of elements. You can do that by inserting <g> </g> around
-# sections of your code.
-#
-# Place the svg_start_group.py block at the point in your program
-# where you'd like to start a group in your SVG output.
-#
-# Be sure to use the corresponding svg_end_group.py block to close
-# the SVG group definition.
-
-
-def myblock(tw, x):
- ''' Add start group to SVG output '''
-
- tw.svg_string += '<g>'
diff --git a/pysamples/ta-stats.py b/pysamples/ta-stats.py
deleted file mode 100644
index 9a80c04..0000000
--- a/pysamples/ta-stats.py
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright (c) 2012, Walter Bender
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-def myblock(tw, x): # ignore second argument
- ''' Load journal stats to heap (Sugar only) '''
-
- import os
- import glob
-
- _DIROFINTEREST = 'datastore'
-
- class ParseJournal():
- ''' Simple parser of datastore for turtle art entries '''
-
- def __init__(self):
- self._score = []
-
- homepath = os.environ['HOME']
- for path in glob.glob(os.path.join(homepath, '.sugar', '*')):
- if isdsdir(path):
- dsobjdirs = glob.glob(
- os.path.join(path, _DIROFINTEREST, '??'))
- for dsobjdir in dsobjdirs:
- dsobjs = glob.glob(os.path.join(dsobjdir, '*'))
- for dsobj in dsobjs:
- if not isactivity(dsobj) == 'TurtleArtActivity':
- continue
- if hascomponent(dsobj, 'mime_type') != \
- 'application/x-turtle-art':
- continue
- score = hasturtleblocks(dsobj)
- if score:
- self._score.append(score)
-
- def hascomponent(path, component):
- ''' Return metadata attribute, if any '''
- if not os.path.exists(os.path.join(path, 'metadata')):
- return False
- if not os.path.exists(os.path.join(path, 'metadata', component)):
- return False
- fd = open(os.path.join(path, 'metadata', component))
- data = fd.readline()
- fd.close()
- if len(data) == 0:
- return False
- return data
-
- def isactivity(path):
- ''' Return activity name '''
- activity = hascomponent(path, 'activity')
- if not activity:
- return False
- else:
- return activity.split('.')[-1]
-
- def isdsdir(path):
- ''' Only interested if it is a datastore directory '''
- if not os.path.isdir(path):
- return False
- if not os.path.exists(os.path.join(path, _DIROFINTEREST)):
- return False
- return True
-
- TACAT = {'clean': 'forward', 'forward': 'forward', 'back': 'forward',
- 'left': 'forward', 'right': 'forward', 'arc': 'arc',
- 'xcor': 'coord', 'ycor': 'coord', 'heading': 'coord',
- 'setxy2': 'setxy', 'seth': 'setxy', 'penup': 'pen',
- 'setpensize': 'pen', 'setcolor': 'pen', 'pensize': 'pen',
- 'color': 'pen', 'setshade': 'pen', 'setgray': 'pen',
- 'gray': 'pen', 'fillscreen': 'pen', 'startfill': 'fill',
- 'stopfill': 'fill', 'plus2': 'number', 'minus2': 'number',
- 'product2': 'number', 'division2': 'number',
- 'pendown': 'pen', 'shade': 'pen', 'remainder2': 'number',
- 'sqrt': 'number', 'identity2': 'number', 'and2': 'boolean',
- 'or2': 'boolean', 'not': 'boolean', 'greater2': 'boolean',
- 'less2': 'boolean', 'equal2': 'boolean', 'random': 'random',
- 'repeat': 'repeat', 'forever': 'repeat', 'if': 'ifthen',
- 'ifelse': 'ifthen', 'while': 'ifthen', 'until': 'ifthen',
- 'hat': 'action', 'stack': 'action', 'storein': 'box',
- 'luminance': 'sensor', 'mousex': 'sensor', 'mousey': 'sensor',
- 'mousebutton2': 'sensor', 'keyboard': 'sensor',
- 'readpixel': 'sensor', 'see': 'sensor', 'time': 'sensor',
- 'sound': 'sensor', 'volume': 'sensor', 'pitch': 'sensor',
- 'resistance': 'sensor', 'voltage': 'sensor', 'video': 'media',
- 'wait': 'media', 'camera': 'media', 'journal': 'media',
- 'audio': 'media', 'show': 'media', 'setscale': 'media',
- 'savepix': 'media', 'savesvg': 'media', 'mediawait': 'media',
- 'mediapause': 'media', 'mediastop': 'media', 'mediaplay': 'media',
- 'speak': 'media', 'sinewave': 'media', 'description': 'media',
- 'push': 'extras', 'pop': 'extras', 'printheap': 'extras',
- 'clearheap': 'extras', 'isheapempty2': 'extras', 'chr': 'extras',
- 'int': 'extras', 'myfunction': 'python', 'userdefined': 'python',
- 'box': 'box', 'kbinput': 'sensor',
- 'loadblock': 'python', 'loadpalette': 'python'}
- TAPAL = {'forward': 'turtlep', 'arc': 'turtlep', 'coord': 'turtlep',
- 'setxy': 'turtlep', 'pen': 'penp', 'fill': 'penp',
- 'random': 'numberp', 'boolean': 'numberp', 'repeat': 'flowp',
- 'ifthen': 'flowp', 'action': 'boxp', 'box': 'boxp',
- 'sensor': 'sensorp', 'media': 'mediap', 'extras': 'extrasp',
- 'number': 'numberp', 'python': 'extrasp'}
- TASCORE = {'forward': 3, 'arc': 3, 'setxy': 2.5, 'coord': 4, 'turtlep': 5,
- 'pen': 2.5, 'fill': 2.5, 'penp': 5,
- 'number': 2.5, 'boolean': 2.5, 'random': 2.5, 'numberp': 0,
- 'repeat': 2.5, 'ifthen': 7.5, 'flowp': 10,
- 'box': 7.5, 'action': 7.5, 'boxp': 0,
- 'media': 5, 'mediap': 0,
- 'python': 5, 'extras': 5, 'extrasp': 0,
- 'sensor': 5, 'sensorp': 0}
- PALS = ['turtlep', 'penp', 'numberp', 'flowp', 'boxp', 'sensorp', 'mediap',
- 'extrasp']
-
- def hasturtleblocks(path):
- ''' Parse turtle block data and generate score based on rubric '''
-
- if not os.path.exists(os.path.join(path, 'data')):
- return None
- fd = open(os.path.join(path, 'data'))
- blocks = []
- # block name is second token in each line
- for line in fd:
- tokens = line.split(',')
- if len(tokens) > 1:
- token = tokens[1].strip('" [')
- blocks.append(token)
-
- score = []
- for i in range(len(PALS)):
- score.append(0)
- cats = []
- pals = []
-
- for b in blocks:
- if b in TACAT:
- if not TACAT[b] in cats:
- cats.append(TACAT[b])
- for c in cats:
- if c in TAPAL:
- if not TAPAL[c] in pals:
- pals.append(TAPAL[c])
-
- for c in cats:
- if c in TASCORE:
- score[PALS.index(TAPAL[c])] += TASCORE[c]
-
- for p in pals:
- if p in TASCORE:
- score[PALS.index(p)] += TASCORE[p]
-
- return score
-
- data = ParseJournal()
- n = min(40, len(data._score) / len(PALS))
- for i in range(n):
- for j in range(len(PALS)):
- tw.lc.heap.append(data._score[(n - i - 1)][len(PALS) - j - 1])
-
- tw.lc.heap.append(n)
- return
diff --git a/samples/game-basketball.ta b/samples/game-basketball.ta
deleted file mode 100644
index ffb5fb2..0000000
--- a/samples/game-basketball.ta
+++ /dev/null
@@ -1,114 +0,0 @@
-[[0, ["start", 2.0], 300, 180, [null, 92]],
-[1, "skin", 300, 520, [24, 2, 45]],
-[2, ["journal", "./samples/images/basketball.png"], 389, 520, [1, null]],
-[3, ["setxy2", 60], 18, 268, [109, 5, 29, null]],
-[4, "xcor", 130, 268, [5, null]],
-[5, ["plus2", 0], 76, 268, [3, 4, 56]],
-[6, ["setxy2", 0], 36, 762, [14, 26, 7, 95]],
-[7, ["number", 0], 94, 804, [6, null]],
-[8, "seth", 54, 614, [12, 11, 32]],
-[9, ["number", 90], 166, 656, [11, null]],
-[10, "heading", 166, 614, [11, null]],
-[11, ["plus2", 0], 112, 614, [8, 10, 9]],
-[12, "wait", 54, 572, [18, 13, 8]],
-[13, ["number", 0.25], 112, 572, [12, null]],
-[14, "penup", 36, 720, [48, 6]],
-[15, "pendown", 36, 972, [43, null]],
-[16, "hat", 0, 180, [null, 17, 109]],
-[17, ["string", "parabola"], 58, 192, [16, null]],
-[18, "stack", 54, 530, [36, 19, 12]],
-[19, ["string", "parabola"], 112, 530, [18, null]],
-[20, "show", 300, 436, [21, 23, 24]],
-[21, "setscale", 300, 394, [60, 22, 20]],
-[22, ["number", 100], 377, 394, [21, null]],
-[23, ["journal", "./samples/images/basketball-court1-a.png"], 358, 436, [20, null]],
-[24, "setscale", 300, 478, [20, 25, 1]],
-[25, ["number", 33], 377, 478, [24, null]],
-[26, "leftpos", 94, 762, [6, null]],
-[27, ["number", 1], 200, 782, [31, null]],
-[28, ["number", 40.0], 104, 888, [95, null]],
-[29, ["plus2", 0], 76, 430, [3, 30, 57]],
-[30, "ycor", 130, 430, [29, null]],
-[31, ["minus2", 0], 122, 740, [105, 107, 27]],
-[32, ["vspace", 0], 54, 656, [8, 105]],
-[33, ["forever", 261], 18, 388, [110, 35, null]],
-[34, ["vspace", 0], 54, 782, [105, 77]],
-[35, ["ifelse", [189, 0]],
-36, 422, [33, 38, 36, 37, null]],
-[36, ["vspace", 0], 54, 488, [35, 18]],
-[37, "stopstack", 54, 926, [35, null]],
-[38, ["greater2", 0], 92, 388, [35, 40, 39, null]],
-[39, ["number", -1], 162, 430, [38, null]],
-[40, "ycor", 138, 388, [38, null]],
-[41, "hat", 0, 300, [null, 42, 110]],
-[42, ["string", "shoot"], 58, 312, [41, null]],
-[43, "stack", 36, 930, [95, 44, 15]],
-[44, ["string", "shoot"], 94, 930, [43, null]],
-[45, "setpensize", 300, 562, [1, 46, 49]],
-[46, ["number", 1], 402, 562, [45, null]],
-[47, "volume", 86, 570, [93, null]],
-[48, ["if", 126], 18, 654, [50, 51, 14, null]],
-[49, ["forever", 0], 300, 604, [45, 75, null]],
-[50, ["vspace", 0], 18, 612, [93, 48]],
-[51, ["greater2", 0], 74, 620, [48, 97, 52, null]],
-[52, ["number", 300], 144, 662, [51, null]],
-[53, ["division2", 0], 184, 352, [56, 103, 55]],
-[54, ["number", 30], 184, 310, [56, null]],
-[55, "width", 262, 394, [53, null]],
-[56, ["product2", 0], 130, 310, [5, 54, 53]],
-[57, ["product2", 0], 130, 472, [29, 101, 58]],
-[58, ["division2", 0], 184, 514, [57, 99, 59]],
-[59, "height", 262, 556, [58, null]],
-[60, ["fillscreen", 0], 300, 310, [90, 61, 62, 21]],
-[61, ["number", 60], 382, 310, [60, null]],
-[62, ["number", 80], 382, 352, [60, null]],
-[63, "readpixel", 18, 648, [112, 72]],
-[64, "pop", 120, 698, [81, null]],
-[65, "pop", 138, 806, [82, null]],
-[66, "pop", 156, 914, [83, null]],
-[67, ["if", 147], 18, 732, [72, 81, 68, null]],
-[68, ["vspace", 0], 36, 798, [67, 69]],
-[69, ["if", 84], 36, 840, [68, 82, 70, null]],
-[70, ["vspace", 0], 54, 906, [69, 71]],
-[71, ["if", 21], 54, 948, [70, 83, 87, null]],
-[72, ["vspace", 0], 18, 690, [63, 67]],
-[73, "hat", 0, 440, [null, 74, 111]],
-[74, ["string", "trigger"], 58, 452, [73, null]],
-[75, "stack", 318, 638, [49, 76, null]],
-[76, ["string", "trigger"], 376, 638, [75, null]],
-[77, "stack", 54, 824, [34, 78, 91]],
-[78, ["string", "test"], 112, 824, [77, null]],
-[79, "hat", 0, 560, [null, 80, 112]],
-[80, ["string", "test"], 58, 572, [79, null]],
-[81, ["equal2", 0], 74, 698, [67, 64, 84, null]],
-[82, ["equal2", 0], 92, 806, [69, 65, 85, null]],
-[83, ["equal2", 0], 110, 914, [71, 66, 86, null]],
-[84, ["number", 255], 120, 740, [81, null]],
-[85, ["number", 255], 138, 848, [82, null]],
-[86, ["number", 255], 156, 956, [83, null]],
-[87, "print", 72, 1014, [71, 88, 89]],
-[88, ["string", "BASKET"], 130, 1014, [87, null]],
-[89, "stopstack", 72, 1056, [87, null]],
-[90, "clean", 300, 268, [92, 60]],
-[91, "clearheap", 54, 866, [77, null]],
-[92, "hideblocks", 300, 226, [0, 90]],
-[93, ["storein", 0], 18, 528, [111, 94, 47, 50]],
-[94, ["string", "loudness"], 86, 528, [93, null]],
-[95, ["storein", 0], 36, 846, [6, 96, 28, 43]],
-[96, ["string", "box"], 104, 846, [95, null]],
-[97, "box", 120, 620, [51, 98, null]],
-[98, ["string", "loudness"], 175, 620, [97, null]],
-[99, "box", 238, 514, [58, 100, null]],
-[100, ["string", "loudness"], 293, 514, [99, null]],
-[101, "box", 184, 472, [57, 102, null]],
-[102, ["string", "box"], 239, 472, [101, null]],
-[103, "box", 238, 352, [53, 104, null]],
-[104, ["string", "loudness"], 293, 352, [103, null]],
-[105, ["storein", 0], 54, 698, [32, 106, 31, 34]],
-[106, ["string", "box"], 122, 698, [105, null]],
-[107, "box", 176, 740, [31, 108, null]],
-[108, ["string", "box"], 231, 740, [107, null]],
-[109, "sandwichclampcollapsed", 0, 234, [16, 3, null]],
-[110, "sandwichclampcollapsed", 0, 354, [41, 33, null]],
-[111, "sandwichclampcollapsed", 0, 494, [73, 93, null]],
-[112, "sandwichclampcollapsed", 0, 614, [79, 63, null]]]
diff --git a/samples/game-continents.ta b/samples/game-continents.ta
deleted file mode 100644
index f56d5d9..0000000
--- a/samples/game-continents.ta
+++ /dev/null
@@ -1,263 +0,0 @@
-[[0, "hat", 449, 231, [null, 136, 250]],
-[1, ["storein", 0], 467, 319, [250, 42, 54, 2]],
-[2, ["storein", 0], 467, 403, [1, 43, 55, 3]],
-[3, ["storein", 0], 467, 487, [2, 4, 51, 5]],
-[4, ["string", "size"], 535, 487, [3, null]],
-[5, ["storein", 0], 467, 571, [3, 6, 48, 7]],
-[6, ["string", "name"], 535, 571, [5, null]],
-[7, ["storein", 0], 467, 655, [5, 8, 99, 9]],
-[8, ["string", "picture"], 535, 655, [7, null]],
-[9, "stack", 467, 739, [7, 151, null]],
-[10, "hat", 112, 364, [null, 155, 239]],
-[11, ["setxy2", 0], 130, 536, [252, 12, 258, 253]],
-[12, ["number", 0], 188, 536, [11, null]],
-[13, "show", 130, 704, [259, 14, 254]],
-[14, ["plus2", 0], 188, 704, [13, 15, 16]],
-[15, ["string", "Put the turtle in "], 242, 704, [14, null]],
-[16, "box", 242, 746, [14, 17, null]],
-[17, ["string", "name"], 297, 746, [16, null]],
-[18, "hat", 560, 322, [null, 138, 248]],
-[19, ["storein", 0], 578, 410, [248, 44, 56, 20]],
-[20, ["storein", 0], 578, 494, [19, 45, 57, 21]],
-[21, ["storein", 0], 578, 578, [20, 22, 52, 23]],
-[22, ["string", "size"], 646, 578, [21, null]],
-[23, ["storein", 0], 578, 662, [21, 24, 49, 25]],
-[24, ["string", "name"], 646, 662, [23, null]],
-[25, ["storein", 0], 578, 746, [23, 26, 100, 27]],
-[26, ["string", "picture"], 646, 746, [25, null]],
-[27, "stack", 578, 830, [25, 153, null]],
-[28, "hat", 451, 422, [null, 139, 247]],
-[29, ["storein", 0], 469, 510, [247, 46, 74, 30]],
-[30, ["storein", 0], 469, 594, [29, 47, 75, 31]],
-[31, ["storein", 0], 469, 678, [30, 32, 53, 33]],
-[32, ["string", "size"], 537, 678, [31, null]],
-[33, ["storein", 0], 469, 762, [31, 34, 50, 35]],
-[34, ["string", "name"], 537, 762, [33, null]],
-[35, ["storein", 0], 469, 846, [33, 36, 101, 37]],
-[36, ["string", "picture"], 537, 846, [35, null]],
-[37, "stack", 469, 930, [35, 154, null]],
-[38, "hat", 674, 214, [null, 39, 240]],
-[39, ["string", "map"], 732, 226, [38, null]],
-[40, "setscale", 692, 302, [240, 41, 165]],
-[41, ["number", 100], 769, 302, [40, null]],
-[42, ["string", "x"], 535, 319, [1, null]],
-[43, ["string", "y"], 535, 403, [2, null]],
-[44, ["string", "x"], 646, 410, [19, null]],
-[45, ["string", "y"], 646, 494, [20, null]],
-[46, ["string", "x"], 537, 510, [29, null]],
-[47, ["string", "y"], 537, 594, [30, null]],
-[48, ["string", "Africa"], 535, 613, [5, null]],
-[49, ["string", "North America"], 646, 704, [23, null]],
-[50, ["string", "Eurasia"], 537, 804, [33, null]],
-[51, ["number", 100], 535, 529, [3, null]],
-[52, ["number", 150], 646, 620, [21, null]],
-[53, ["number", 150], 537, 720, [31, null]],
-[54, ["number", 20], 535, 361, [1, null]],
-[55, ["number", 40], 535, 445, [2, null]],
-[56, ["number", -350], 646, 452, [19, null]],
-[57, ["number", 200], 646, 536, [20, null]],
-[58, "hat", 222, 251, [null, 135, 251]],
-[59, ["storein", 0], 240, 339, [251, 60, 61, 62]],
-[60, ["string", "x"], 308, 339, [59, null]],
-[61, ["number", -300], 308, 381, [59, null]],
-[62, ["storein", 0], 240, 423, [59, 63, 64, 65]],
-[63, ["string", "y"], 308, 423, [62, null]],
-[64, ["number", -50], 308, 465, [62, null]],
-[65, ["storein", 0], 240, 507, [62, 66, 67, 68]],
-[66, ["string", "size"], 308, 507, [65, null]],
-[67, ["number", 100], 308, 549, [65, null]],
-[68, ["storein", 0], 240, 591, [65, 69, 70, 71]],
-[69, ["string", "name"], 308, 591, [68, null]],
-[70, ["string", "South America"], 308, 633, [68, null]],
-[71, ["storein", 0], 240, 675, [68, 72, 102, 73]],
-[72, ["string", "picture"], 308, 675, [71, null]],
-[73, "stack", 240, 759, [71, 150, null]],
-[74, ["number", 250], 537, 552, [29, null]],
-[75, ["number", 200], 537, 636, [30, null]],
-[76, "hat", 334, 338, [null, 137, 249]],
-[77, ["storein", 0], 352, 426, [249, 78, 79, 80]],
-[78, ["string", "x"], 420, 426, [77, null]],
-[79, ["number", 390], 420, 468, [77, null]],
-[80, ["storein", 0], 352, 510, [77, 81, 82, 83]],
-[81, ["string", "y"], 420, 510, [80, null]],
-[82, ["number", -75], 420, 552, [80, null]],
-[83, ["storein", 0], 352, 594, [80, 84, 85, 86]],
-[84, ["string", "size"], 420, 594, [83, null]],
-[85, ["number", 100], 420, 636, [83, null]],
-[86, ["storein", 0], 352, 678, [83, 87, 88, 89]],
-[87, ["string", "name"], 420, 678, [86, null]],
-[88, ["string", "Australia"], 420, 720, [86, null]],
-[89, ["storein", 0], 352, 762, [86, 90, 224, 91]],
-[90, ["string", "picture"], 420, 762, [89, null]],
-[91, "stack", 352, 846, [89, 152, null]],
-[92, ["start", 2.0], 82, 255, [null, 246]],
-[93, "stack", 100, 335, [246, 94, 95]],
-[94, ["string", "setup"], 158, 335, [93, null]],
-[95, "stack", 100, 377, [93, 96, 97]],
-[96, ["string", "map"], 158, 377, [95, null]],
-[97, "stack", 100, 419, [95, 140, 98]],
-[98, "stack", 100, 461, [97, 141, 142]],
-[99, ["journal", "./samples/images/Africa.png"], 535, 697, [7, null]],
-[100, ["journal", "./samples/images/North_America.png"], 646, 788, [25, null]],
-[101, ["journal", "./samples/images/Eurasia.png"], 537, 888, [35, null]],
-[102, ["journal", "./samples/images/South_America.png"], 308, 717, [71, null]],
-[103, "hat", 692, 391, [null, 104, 245]],
-[104, ["string", "star"], 750, 403, [103, null]],
-[105, "setpensize", 710, 479, [245, 106, 107]],
-[106, ["number", 15], 812, 479, [105, null]],
-[107, ["setxy2", 0], 710, 521, [105, 108, 109, 110]],
-[108, ["number", 0], 768, 521, [107, null]],
-[109, ["number", 0], 768, 563, [107, null]],
-[110, ["repeat", 63], 710, 605, [107, 111, 226, 225]],
-[111, ["number", 5], 769, 605, [110, null]],
-[112, "setcolor", 728, 689, [226, 113, 114]],
-[113, "heading", 805, 689, [112, null]],
-[114, "forward", 728, 731, [112, 115, 116]],
-[115, ["number", 200], 799, 731, [114, null]],
-[116, "right", 728, 773, [114, 117, null]],
-[117, ["number", 144], 786, 773, [116, null]],
-[118, ["setxy2", 20.0], 130, 788, [254, 233, 234, 255]],
-[119, ["number", -150], 242, 788, [233, null]],
-[120, ["number", 100], 242, 870, [234, null]],
-[121, ["forever", 252], 130, 954, [255, 122, null]],
-[122, "stack", 148, 988, [121, 123, 230]],
-[123, ["string", "calculate distance"], 206, 988, [122, null]],
-[124, ["if", 147], 148, 1072, [230, 125, 256, 133]],
-[125, ["less2", 0], 204, 1038, [124, 126, 128, null]],
-[126, "box", 250, 1038, [125, 127, null]],
-[127, ["string", "distance"], 305, 1038, [126, null]],
-[128, ["product2", 0], 274, 1080, [125, 129, 131]],
-[129, "box", 328, 1080, [128, 130, null]],
-[130, ["string", "size"], 383, 1080, [129, null]],
-[131, "box", 328, 1122, [128, 132, null]],
-[132, ["string", "scale"], 383, 1122, [131, null]],
-[133, "wait", 148, 1492, [124, 134, null]],
-[134, ["number", 1], 206, 1492, [133, null]],
-[135, ["string", "Q1"], 280, 263, [58, null]],
-[136, ["string", "Q2"], 507, 243, [0, null]],
-[137, ["string", "Q3"], 392, 350, [76, null]],
-[138, ["string", "Q4"], 618, 334, [18, null]],
-[139, ["string", "Q5"], 509, 434, [28, null]],
-[140, ["string", "Q1"], 158, 419, [97, null]],
-[141, ["string", "Q2"], 158, 461, [98, null]],
-[142, "stack", 100, 503, [98, 144, 143]],
-[143, "stack", 100, 545, [142, 145, 146]],
-[144, ["string", "Q3"], 158, 503, [142, null]],
-[145, ["string", "Q4"], 158, 545, [143, null]],
-[146, "stack", 100, 587, [143, 149, 147]],
-[147, "stack", 100, 629, [146, 148, null]],
-[148, ["string", "star"], 158, 629, [147, null]],
-[149, ["string", "Q5"], 158, 587, [146, null]],
-[150, ["string", "go"], 298, 759, [73, null]],
-[151, ["string", "go"], 525, 739, [9, null]],
-[152, ["string", "go"], 410, 846, [91, null]],
-[153, ["string", "go"], 636, 830, [27, null]],
-[154, ["string", "go"], 527, 930, [37, null]],
-[155, ["string", "go"], 170, 376, [10, null]],
-[156, ["setxy2", 0], 166, 1180, [256, 157, 158, 257]],
-[157, ["number", 0], 224, 1180, [156, null]],
-[158, ["number", 0], 224, 1222, [156, null]],
-[159, "setscale", 166, 1306, [257, 160, 261]],
-[160, ["number", 100], 243, 1306, [159, null]],
-[161, "show", 166, 1390, [261, 162, 164]],
-[162, "box", 224, 1390, [161, 163, null]],
-[163, ["string", "picture"], 279, 1390, [162, null]],
-[164, "stopstack", 166, 1432, [161, null]],
-[165, ["setxy2", 0], 692, 344, [40, 166, 167, 168]],
-[166, ["number", 0], 750, 344, [165, null]],
-[167, ["number", 0], 750, 386, [165, null]],
-[168, "show", 692, 428, [165, 169, null]],
-[169, ["journal", "./samples/images/World_Map.png"], 750, 428, [168, null]],
-[170, "hat", 237, 437, [null, 171, 244]],
-[171, ["string", "setup"], 295, 449, [170, null]],
-[172, ["storein", 0], 255, 525, [244, 173, 174, 229]],
-[173, ["string", "scale"], 323, 525, [172, null]],
-[174, ["division2", 0], 323, 567, [172, 175, 176]],
-[175, "height", 377, 567, [174, null]],
-[176, ["number", 900], 401, 609, [174, null]],
-[177, ["storein", 0], 255, 651, [229, 178, 179, 228]],
-[178, ["string", "box"], 323, 651, [177, null]],
-[179, ["product2", 0], 323, 693, [177, 180, 181]],
-[180, ["number", -200], 377, 693, [179, null]],
-[181, "box", 377, 735, [179, 182, null]],
-[182, ["string", "scale"], 432, 735, [181, null]],
-[183, "hideblocks", 255, 777, [228, 184]],
-[184, "clean", 255, 819, [183, 185]],
-[185, "settextsize", 255, 861, [184, 186, null]],
-[186, ["product2", 0], 359, 861, [185, 187, 188]],
-[187, ["number", 24], 413, 861, [186, null]],
-[188, "box", 413, 903, [186, 189, null]],
-[189, ["string", "scale"], 468, 903, [188, null]],
-[190, "hat", 7, 459, [null, 191, 241]],
-[191, ["string", "calculate distance"], 65, 471, [190, null]],
-[192, ["storein", 0], 25, 547, [241, 193, 194, 243]],
-[193, ["string", "dx"], 93, 547, [192, null]],
-[194, ["minus2", 20.0], 93, 589, [192, 195, 200]],
-[195, ["product2", 0], 147, 589, [194, 196, 198]],
-[196, "box", 201, 589, [195, 197, null]],
-[197, ["string", "x"], 256, 589, [196, null]],
-[198, "box", 201, 631, [195, 199, null]],
-[199, ["string", "scale"], 256, 631, [198, null]],
-[200, "xcor", 171, 671, [194, null]],
-[201, ["storein", 0], 25, 713, [243, 202, 203, 242]],
-[202, ["string", "dy"], 93, 713, [201, null]],
-[203, ["minus2", 20.0], 93, 755, [201, 204, 209]],
-[204, ["product2", 0], 147, 755, [203, 205, 207]],
-[205, "box", 201, 755, [204, 206, null]],
-[206, ["string", "y"], 256, 755, [205, null]],
-[207, "box", 201, 797, [204, 208, null]],
-[208, ["string", "scale"], 256, 797, [207, null]],
-[209, "ycor", 171, 837, [203, null]],
-[210, ["storein", 0], 25, 879, [242, 211, 212, null]],
-[211, ["string", "distance"], 93, 879, [210, null]],
-[212, "sqrt", 93, 921, [210, 213]],
-[213, ["plus2", 20.0], 147, 921, [212, 214, 219]],
-[214, ["product2", 0], 201, 921, [213, 215, 217]],
-[215, "box", 255, 921, [214, 216, null]],
-[216, ["string", "dx"], 310, 921, [215, null]],
-[217, "box", 255, 963, [214, 218, null]],
-[218, ["string", "dx"], 310, 963, [217, null]],
-[219, ["product2", 0], 201, 1003, [213, 220, 222]],
-[220, "box", 255, 1003, [219, 221, null]],
-[221, ["string", "dy"], 310, 1003, [220, null]],
-[222, "box", 255, 1045, [219, 223, null]],
-[223, ["string", "dy"], 310, 1045, [222, null]],
-[224, ["journal", "./samples/images/Australia.png"], 420, 804, [89, null]],
-[225, "showblocks", 710, 833, [110, null]],
-[226, "wait", 728, 647, [110, 227, 112]],
-[227, ["number", 1], 786, 647, [226, null]],
-[228, ["vspace", 0], 255, 735, [177, 183]],
-[229, ["vspace", 0], 255, 609, [172, 177]],
-[230, ["vspace", 0], 148, 1030, [122, 124]],
-[231, "setscale", 130, 452, [239, 232, 252]],
-[232, ["number", 50], 207, 452, [231, null]],
-[233, ["product2", 0], 188, 788, [118, 119, 237]],
-[234, ["product2", 0], 188, 870, [118, 120, 235]],
-[235, "box", 242, 912, [234, 236, null]],
-[236, ["string", "scale"], 297, 912, [235, null]],
-[237, "box", 242, 830, [233, 238, null]],
-[238, ["string", "scale"], 297, 830, [237, null]],
-[239, "sandwichclampcollapsed", 112, 418, [10, 231, null]],
-[240, "sandwichclampcollapsed", 674, 268, [38, 40, null]],
-[241, "sandwichclampcollapsed", 7, 513, [190, 192, null]],
-[242, ["vspace", 20], 25, 797, [201, 210]],
-[243, ["vspace", 20], 25, 631, [192, 201]],
-[244, "sandwichclampcollapsed", 237, 491, [170, 172, null]],
-[245, "sandwichclampcollapsed", 692, 445, [103, 105, null]],
-[246, "sandwichclampcollapsed", 82, 301, [92, 93, null]],
-[247, "sandwichclampcollapsed", 451, 476, [28, 29, null]],
-[248, "sandwichclampcollapsed", 560, 376, [18, 19, null]],
-[249, "sandwichclampcollapsed", 334, 392, [76, 77, null]],
-[250, "sandwichclampcollapsed", 449, 285, [0, 1, null]],
-[251, "sandwichclampcollapsed", 222, 305, [58, 59, null]],
-[252, "penup", 130, 494, [231, 11]],
-[253, "pendown", 130, 620, [11, 259]],
-[254, "penup", 130, 746, [13, 118]],
-[255, "pendown", 130, 912, [118, 121]],
-[256, "penup", 166, 1138, [124, 156]],
-[257, "pendown", 166, 1264, [156, 159]],
-[258, ["number", 0], 188, 578, [11, null]],
-[259, "seth", 130, 662, [253, 260, 13]],
-[260, ["number", 0], 188, 662, [259, null]],
-[261, "seth", 166, 1348, [159, 262, 161]],
-[262, ["number", 0], 224, 1348, [261, null]]]
diff --git a/samples/game-find-boston.ta b/samples/game-find-boston.ta
deleted file mode 100644
index a585024..0000000
--- a/samples/game-find-boston.ta
+++ /dev/null
@@ -1,379 +0,0 @@
-[[0, ["string", "North America"], 178, 536, [241, null]],
-[1, ["journal", "./samples/images/North_America.jpg"], 178, 620, [243, null]],
-[2, ["number", 150], 366, 452, [238, null]],
-[3, ["number", 114], 366, 368, [232, null]],
-[4, "hat", 123, 467, [null, 5, 358]],
-[5, ["string", "Q3"], 181, 479, [4, null]],
-[6, ["storein", 0], 106, 531, [358, 7, 211, 9]],
-[7, ["string", "x"], 174, 531, [6, null]],
-[8, ["number", 500], 362, 573, [208, null]],
-[9, ["storein", 0], 106, 615, [6, 10, 213, 12]],
-[10, ["string", "y"], 174, 615, [9, null]],
-[11, ["number", 300], 362, 657, [212, null]],
-[12, ["storein", 0], 106, 699, [9, 13, 219, 15]],
-[13, ["string", "size"], 174, 699, [12, null]],
-[14, ["number", 100], 362, 741, [218, null]],
-[15, ["storein", 0], 106, 783, [12, 16, 17, 18]],
-[16, ["string", "name"], 174, 783, [15, null]],
-[17, ["string", "New England"], 174, 825, [15, null]],
-[18, ["storein", 0], 106, 867, [15, 19, 20, 21]],
-[19, ["string", "picture"], 174, 867, [18, null]],
-[20, ["journal", "./samples/images/New-England.png"], 174, 909, [18, null]],
-[21, "stack", 106, 951, [18, 22, 220]],
-[22, ["string", "go"], 164, 951, [21, null]],
-[23, ["number", -330], 361, 729, [307, null]],
-[24, ["number", -240], 361, 813, [313, null]],
-[25, ["number", 100], 361, 897, [319, null]],
-[26, ["string", "Massachusetts"], 173, 981, [322, null]],
-[27, ["journal", "./samples/images/Massachuetts.png"], 173, 1065, [324, null]],
-[28, "hat", 654, 621, [null, 29, 353]],
-[29, ["string", "calculate distance"], 712, 633, [28, null]],
-[30, ["storein", 0], 637, 685, [353, 31, 32, 352]],
-[31, ["string", "dx"], 705, 685, [30, null]],
-[32, ["minus2", 20.0], 705, 727, [30, 33, 38]],
-[33, ["product2", 0], 759, 727, [32, 34, 36]],
-[34, "box", 813, 727, [33, 35, null]],
-[35, ["string", "x"], 868, 727, [34, null]],
-[36, "box", 813, 769, [33, 37, null]],
-[37, ["string", "scalex"], 868, 769, [36, null]],
-[38, "xcor", 783, 809, [32, null]],
-[39, ["storein", 0], 637, 851, [352, 40, 41, 351]],
-[40, ["string", "dy"], 705, 851, [39, null]],
-[41, ["minus2", 20.0], 705, 893, [39, 42, 47]],
-[42, ["product2", 0], 759, 893, [41, 43, 45]],
-[43, "box", 813, 893, [42, 44, null]],
-[44, ["string", "y"], 868, 893, [43, null]],
-[45, "box", 813, 935, [42, 46, null]],
-[46, ["string", "scaley"], 868, 935, [45, null]],
-[47, "ycor", 783, 975, [41, null]],
-[48, ["storein", 0], 637, 1017, [351, 49, 50, 202]],
-[49, ["string", "distance"], 705, 1017, [48, null]],
-[50, "sqrt", 705, 1059, [48, 51]],
-[51, ["plus2", 20.0], 759, 1059, [50, 52, 57]],
-[52, ["product2", 0], 813, 1059, [51, 53, 55]],
-[53, "box", 867, 1059, [52, 54, null]],
-[54, ["string", "dx"], 922, 1059, [53, null]],
-[55, "box", 867, 1101, [52, 56, null]],
-[56, ["string", "dx"], 922, 1101, [55, null]],
-[57, ["product2", 0], 813, 1141, [51, 58, 60]],
-[58, "box", 867, 1141, [57, 59, null]],
-[59, ["string", "dy"], 922, 1141, [58, null]],
-[60, "box", 867, 1183, [57, 61, null]],
-[61, ["string", "dy"], 922, 1183, [60, null]],
-[62, ["number", 120], 363, 868, [280, null]],
-[63, ["number", 190], 363, 952, [286, null]],
-[64, ["number", 50], 363, 1036, [292, null]],
-[65, ["string", "Boston"], 175, 1120, [295, null]],
-[66, ["journal", "./samples/images/Boston.png"], 175, 1204, [297, null]],
-[67, "hat", 1042, 788, [null, 68, 350]],
-[68, ["string", "map"], 1100, 800, [67, null]],
-[69, "setscale", 1025, 852, [350, 70, 71]],
-[70, ["number", 100], 1102, 852, [69, null]],
-[71, ["setxy2", 0], 1025, 894, [69, 72, 73, 74]],
-[72, ["number", 0], 1083, 894, [71, null]],
-[73, ["number", 0], 1083, 936, [71, null]],
-[74, "show", 1025, 978, [71, 75, 203]],
-[75, ["journal", "./samples/images/earth.png"], 1083, 978, [74, null]],
-[76, "hat", 663, 415, [null, 77, 354]],
-[77, ["string", "setup"], 721, 427, [76, null]],
-[78, ["storein", 0], 646, 479, [354, 79, 80, 339]],
-[79, ["string", "scalex"], 714, 479, [78, null]],
-[80, ["division2", 0], 714, 521, [78, 338, 81]],
-[81, ["number", 1200], 792, 563, [80, null]],
-[82, ["storein", 0], 646, 731, [344, 83, 84, 337]],
-[83, ["string", "box"], 714, 731, [82, null]],
-[84, ["product2", 0], 714, 773, [82, 85, 86]],
-[85, ["number", -260], 768, 773, [84, null]],
-[86, "box", 768, 815, [84, 87, null]],
-[87, ["string", "scalex"], 823, 815, [86, null]],
-[88, "hat", 717, 523, [null, 89, 348]],
-[89, ["string", "star"], 775, 535, [88, null]],
-[90, "setpensize", 700, 587, [348, 91, 373]],
-[91, ["number", 15], 802, 587, [90, null]],
-[92, ["setxy2", 0], 700, 671, [373, 93, 94, 374]],
-[93, ["number", 0], 758, 671, [92, null]],
-[94, ["number", 0], 758, 713, [92, null]],
-[95, ["repeat", 42], 700, 797, [374, 96, 97, 204]],
-[96, ["number", 5], 759, 797, [95, null]],
-[97, "setcolor", 718, 839, [95, 98, 99]],
-[98, "heading", 795, 839, [97, null]],
-[99, "forward", 718, 881, [97, 100, 101]],
-[100, ["number", 200], 789, 881, [99, null]],
-[101, "right", 718, 923, [99, 102, null]],
-[102, ["number", 144], 776, 923, [101, null]],
-[103, "clean", 646, 857, [337, 331]],
-[104, ["number", -200], 362, 422, [253, null]],
-[105, ["number", -220], 362, 506, [259, null]],
-[106, ["number", 200], 362, 590, [265, null]],
-[107, ["string", "USA"], 174, 674, [268, null]],
-[108, ["journal", "./samples/images/United_States.png"], 174, 758, [270, null]],
-[109, "hat", 671, 205, [null, 110, 355]],
-[110, ["string", "go"], 729, 217, [109, null]],
-[111, ["if", 0], 689, 293, [355, 112, 365, 369]],
-[112, ["greater2", 0], 745, 259, [111, 113, 115, null]],
-[113, "box", 791, 259, [112, 114, null]],
-[114, ["string", "test"], 846, 259, [113, null]],
-[115, ["number", 0], 815, 301, [112, null]],
-[116, ["setxy2", 20.0], 701, 419, [361, 117, 120, 362]],
-[117, ["minus2", 0], 759, 419, [116, 118, 186]],
-[118, "box", 813, 419, [117, 119, null]],
-[119, ["string", "x"], 868, 419, [118, null]],
-[120, "box", 759, 501, [116, 121, null]],
-[121, ["string", "y"], 814, 501, [120, null]],
-[122, ["arc", 0], 701, 585, [362, 123, 124, 188]],
-[123, ["number", 360], 759, 585, [122, null]],
-[124, "box", 759, 627, [122, 330, null]],
-[125, ["setxy2", 0], 689, 461, [369, 126, 127, 370]],
-[126, ["number", 0], 747, 461, [125, null]],
-[127, "box", 747, 503, [125, 128, null]],
-[128, ["string", "box"], 802, 503, [127, null]],
-[129, "settextsize", 689, 587, [370, 130, 349]],
-[130, ["product2", 0], 793, 587, [129, 131, 132]],
-[131, ["number", 24], 847, 587, [130, null]],
-[132, "box", 847, 629, [130, 133, null]],
-[133, ["string", "scalex"], 902, 629, [132, null]],
-[134, "show", 689, 755, [375, 135, 206]],
-[135, ["plus2", 0], 747, 755, [134, 136, 137]],
-[136, ["string", "Put the turtle in "], 801, 755, [135, null]],
-[137, "box", 801, 797, [135, 138, null]],
-[138, ["string", "name"], 856, 797, [137, null]],
-[139, ["setxy2", 0], 689, 881, [371, 140, 141, 372]],
-[140, ["number", 0], 747, 881, [139, null]],
-[141, ["number", 0], 747, 923, [139, null]],
-[142, ["forever", 231], 689, 1007, [372, 143, null]],
-[143, "stack", 707, 1041, [142, 144, 205]],
-[144, ["string", "calculate distance"], 765, 1041, [143, null]],
-[145, ["if", 126], 707, 1125, [205, 146, 154, 164]],
-[146, ["less2", 0], 763, 1091, [145, 147, 149, null]],
-[147, "box", 809, 1091, [146, 148, null]],
-[148, ["string", "distance"], 864, 1091, [147, null]],
-[149, ["product2", 0], 833, 1133, [146, 150, 152]],
-[150, "box", 887, 1133, [149, 151, null]],
-[151, ["string", "size"], 942, 1133, [150, null]],
-[152, "box", 887, 1175, [149, 153, null]],
-[153, ["string", "scalex"], 942, 1175, [152, null]],
-[154, "clean", 725, 1191, [145, 155]],
-[155, ["setxy2", 0], 725, 1233, [154, 156, 157, 158]],
-[156, ["number", 0], 783, 1233, [155, null]],
-[157, ["number", 0], 783, 1275, [155, null]],
-[158, "setscale", 725, 1317, [155, 159, 377]],
-[159, ["number", 100], 802, 1317, [158, null]],
-[160, "show", 725, 1401, [377, 161, 163]],
-[161, "box", 783, 1401, [160, 162, null]],
-[162, ["string", "picture"], 838, 1401, [161, null]],
-[163, "stopstack", 725, 1443, [160, null]],
-[164, "wait", 707, 1503, [145, 165, null]],
-[165, ["number", 1], 765, 1503, [164, null]],
-[166, ["start", 2.0], 407, 211, [null, 167]],
-[167, ["storein", 0], 407, 257, [166, 168, 169, 170]],
-[168, ["string", "test"], 475, 257, [167, null]],
-[169, ["number", 0], 475, 299, [167, null]],
-[170, "stack", 407, 341, [167, 171, 172]],
-[171, ["string", "setup"], 465, 341, [170, null]],
-[172, "stack", 407, 383, [170, 173, 174]],
-[173, ["string", "map"], 465, 383, [172, null]],
-[174, "stack", 407, 425, [172, 175, 176]],
-[175, ["string", "Q1"], 465, 425, [174, null]],
-[176, "stack", 407, 467, [174, 177, 178]],
-[177, ["string", "Q2"], 465, 467, [176, null]],
-[178, "stack", 407, 509, [176, 179, 180]],
-[179, ["string", "Q3"], 465, 509, [178, null]],
-[180, "stack", 407, 551, [178, 181, 182]],
-[181, ["string", "Q4"], 465, 551, [180, null]],
-[182, "stack", 407, 593, [180, 183, 184]],
-[183, ["string", "Q5"], 465, 593, [182, null]],
-[184, "stack", 407, 635, [182, 185, null]],
-[185, ["string", "star"], 465, 635, [184, null]],
-[186, "box", 837, 461, [117, 187, null]],
-[187, ["string", "size"], 892, 461, [186, null]],
-[188, ["storein", 0], 701, 669, [122, 189, 190, 207]],
-[189, ["string", "box"], 769, 669, [188, null]],
-[190, ["plus2", 0], 769, 711, [188, 191, 192]],
-[191, "xcor", 823, 711, [190, null]],
-[192, "box", 823, 753, [190, 193, null]],
-[193, ["string", "size"], 878, 753, [192, null]],
-[194, "print", 701, 795, [207, 195, 368]],
-[195, ["plus2", 0], 759, 795, [194, 196, 198]],
-[196, "box", 813, 795, [195, 197, null]],
-[197, ["string", "box"], 868, 795, [196, null]],
-[198, ["plus2", 0], 813, 837, [195, 199, 200]],
-[199, ["string", ", "], 867, 837, [198, null]],
-[200, "ycor", 867, 879, [198, null]],
-[201, ["number", -170], 366, 284, [226, null]],
-[202, ["vspace", 1], 637, 1101, [48, null]],
-[203, ["vspace", 1], 1025, 1020, [74, null]],
-[204, ["vspace", 1], 700, 983, [95, null]],
-[205, ["vspace", 0], 707, 1083, [143, 145]],
-[206, ["vspace", 0], 689, 797, [134, 371]],
-[207, ["vspace", 0], 701, 753, [188, 194]],
-[208, ["product2", 0], 308, 573, [211, 8, 209]],
-[209, "box", 362, 615, [208, 210, null]],
-[210, ["string", "scalex"], 417, 615, [209, null]],
-[211, ["identity2", 40.0], 174, 573, [6, 208]],
-[212, ["product2", 0], 308, 657, [213, 11, 214]],
-[213, ["identity2", 40.0], 174, 657, [9, 212]],
-[214, "box", 362, 699, [212, 215, null]],
-[215, ["string", "scaley"], 417, 699, [214, null]],
-[216, "box", 362, 783, [218, 217, null]],
-[217, ["string", "scalex"], 417, 783, [216, null]],
-[218, ["product2", 0], 308, 741, [219, 14, 216]],
-[219, ["identity2", 40.0], 174, 741, [12, 218]],
-[220, ["vspace", 1], 106, 993, [21, null]],
-[221, "hat", 127, 178, [null, 222, 360]],
-[222, ["string", "Q1"], 185, 190, [221, null]],
-[223, ["storein", 0], 110, 242, [360, 224, 225, 229]],
-[224, ["string", "x"], 178, 242, [223, null]],
-[225, ["identity2", 40.0], 178, 284, [223, 226]],
-[226, ["product2", 0], 312, 284, [225, 201, 227]],
-[227, "box", 366, 326, [226, 228, null]],
-[228, ["string", "scalex"], 421, 326, [227, null]],
-[229, ["storein", 0], 110, 326, [223, 230, 231, 235]],
-[230, ["string", "y"], 178, 326, [229, null]],
-[231, ["identity2", 40.0], 178, 368, [229, 232]],
-[232, ["product2", 0], 312, 368, [231, 3, 233]],
-[233, "box", 366, 410, [232, 234, null]],
-[234, ["string", "scaley"], 421, 410, [233, null]],
-[235, ["storein", 0], 110, 410, [229, 236, 237, 241]],
-[236, ["string", "size"], 178, 410, [235, null]],
-[237, ["identity2", 40.0], 178, 452, [235, 238]],
-[238, ["product2", 0], 312, 452, [237, 2, 239]],
-[239, "box", 366, 494, [238, 240, null]],
-[240, ["string", "scalex"], 421, 494, [239, null]],
-[241, ["storein", 0], 110, 494, [235, 242, 0, 243]],
-[242, ["string", "name"], 178, 494, [241, null]],
-[243, ["storein", 0], 110, 578, [241, 244, 1, 245]],
-[244, ["string", "picture"], 178, 578, [243, null]],
-[245, "stack", 110, 662, [243, 246, 247]],
-[246, ["string", "go"], 168, 662, [245, null]],
-[247, ["vspace", 1], 110, 704, [245, null]],
-[248, "hat", 123, 316, [null, 249, 359]],
-[249, ["string", "Q2"], 181, 328, [248, null]],
-[250, ["storein", 0], 106, 380, [359, 251, 252, 256]],
-[251, ["string", "x"], 174, 380, [250, null]],
-[252, ["identity2", 40.0], 174, 422, [250, 253]],
-[253, ["product2", 0], 308, 422, [252, 104, 254]],
-[254, "box", 362, 464, [253, 255, null]],
-[255, ["string", "scalex"], 417, 464, [254, null]],
-[256, ["storein", 0], 106, 464, [250, 257, 258, 262]],
-[257, ["string", "y"], 174, 464, [256, null]],
-[258, ["identity2", 40.0], 174, 506, [256, 259]],
-[259, ["product2", 0], 308, 506, [258, 105, 260]],
-[260, "box", 362, 548, [259, 261, null]],
-[261, ["string", "scaley"], 417, 548, [260, null]],
-[262, ["storein", 0], 106, 548, [256, 263, 264, 268]],
-[263, ["string", "size"], 174, 548, [262, null]],
-[264, ["identity2", 40.0], 174, 590, [262, 265]],
-[265, ["product2", 0], 308, 590, [264, 106, 266]],
-[266, "box", 362, 632, [265, 267, null]],
-[267, ["string", "scalex"], 417, 632, [266, null]],
-[268, ["storein", 0], 106, 632, [262, 269, 107, 270]],
-[269, ["string", "name"], 174, 632, [268, null]],
-[270, ["storein", 0], 106, 716, [268, 271, 108, 272]],
-[271, ["string", "picture"], 174, 716, [270, null]],
-[272, "stack", 106, 800, [270, 273, 274]],
-[273, ["string", "go"], 164, 800, [272, null]],
-[274, ["vspace", 1], 106, 842, [272, null]],
-[275, "hat", 124, 762, [null, 276, 356]],
-[276, ["string", "Q5"], 182, 774, [275, null]],
-[277, ["storein", 0], 107, 826, [356, 278, 279, 283]],
-[278, ["string", "x"], 175, 826, [277, null]],
-[279, ["identity2", 40.0], 175, 868, [277, 280]],
-[280, ["product2", 0], 309, 868, [279, 62, 281]],
-[281, "box", 363, 910, [280, 282, null]],
-[282, ["string", "scalex"], 418, 910, [281, null]],
-[283, ["storein", 0], 107, 910, [277, 284, 285, 289]],
-[284, ["string", "y"], 175, 910, [283, null]],
-[285, ["identity2", 40.0], 175, 952, [283, 286]],
-[286, ["product2", 0], 309, 952, [285, 63, 287]],
-[287, "box", 363, 994, [286, 288, null]],
-[288, ["string", "scaley"], 418, 994, [287, null]],
-[289, ["storein", 0], 107, 994, [283, 290, 291, 295]],
-[290, ["string", "size"], 175, 994, [289, null]],
-[291, ["identity2", 40.0], 175, 1036, [289, 292]],
-[292, ["product2", 0], 309, 1036, [291, 64, 293]],
-[293, "box", 363, 1078, [292, 294, null]],
-[294, ["string", "scalex"], 418, 1078, [293, null]],
-[295, ["storein", 0], 107, 1078, [289, 296, 65, 297]],
-[296, ["string", "name"], 175, 1078, [295, null]],
-[297, ["storein", 0], 107, 1162, [295, 298, 66, 299]],
-[298, ["string", "picture"], 175, 1162, [297, null]],
-[299, "stack", 107, 1246, [297, 300, 301]],
-[300, ["string", "go"], 165, 1246, [299, null]],
-[301, ["vspace", 1], 107, 1288, [299, null]],
-[302, "hat", 122, 623, [null, 303, 357]],
-[303, ["string", "Q4"], 180, 635, [302, null]],
-[304, ["storein", 0], 105, 687, [357, 305, 306, 310]],
-[305, ["string", "x"], 173, 687, [304, null]],
-[306, ["identity2", 40.0], 173, 729, [304, 307]],
-[307, ["product2", 0], 307, 729, [306, 23, 308]],
-[308, "box", 361, 771, [307, 309, null]],
-[309, ["string", "scalex"], 416, 771, [308, null]],
-[310, ["storein", 0], 105, 771, [304, 311, 312, 316]],
-[311, ["string", "y"], 173, 771, [310, null]],
-[312, ["identity2", 40.0], 173, 813, [310, 313]],
-[313, ["product2", 0], 307, 813, [312, 24, 314]],
-[314, "box", 361, 855, [313, 315, null]],
-[315, ["string", "scaley"], 416, 855, [314, null]],
-[316, ["storein", 0], 105, 855, [310, 317, 318, 322]],
-[317, ["string", "size"], 173, 855, [316, null]],
-[318, ["identity2", 40.0], 173, 897, [316, 319]],
-[319, ["product2", 0], 307, 897, [318, 25, 320]],
-[320, "box", 361, 939, [319, 321, null]],
-[321, ["string", "scalex"], 416, 939, [320, null]],
-[322, ["storein", 0], 105, 939, [316, 323, 26, 324]],
-[323, ["string", "name"], 173, 939, [322, null]],
-[324, ["storein", 0], 105, 1023, [322, 325, 27, 326]],
-[325, ["string", "picture"], 173, 1023, [324, null]],
-[326, "stack", 105, 1107, [324, 327, 328]],
-[327, ["string", "go"], 163, 1107, [326, null]],
-[328, ["vspace", 1], 105, 1149, [326, null]],
-[329, ["vspace", 1], 646, 1025, [331, null]],
-[330, ["string", "size"], 814, 627, [124, null]],
-[331, ["if", 0], 646, 899, [103, 332, 334, 329]],
-[332, ["equal2", 0], 702, 865, [331, 335, 333, null]],
-[333, ["number", 0], 748, 907, [332, null]],
-[334, "hideblocks", 664, 965, [331, null]],
-[335, "box", 748, 865, [332, 336, null]],
-[336, ["string", "test"], 803, 865, [335, null]],
-[337, ["vspace", 0], 646, 815, [82, 103]],
-[338, "width", 768, 521, [80, null]],
-[339, ["vspace", 0], 646, 563, [78, 340]],
-[340, ["storein", 0], 646, 605, [339, 341, 342, 344]],
-[341, ["string", "scaley"], 714, 605, [340, null]],
-[342, ["division2", 0], 714, 647, [340, 345, 343]],
-[343, ["number", 900], 792, 689, [342, null]],
-[344, ["vspace", 0], 646, 689, [340, 82]],
-[345, "height", 768, 647, [342, null]],
-[346, "setscale", 689, 671, [349, 347, 375]],
-[347, ["number", 33], 766, 671, [346, null]],
-[348, "sandwichclampcollapsed", 717, 577, [88, 90, null]],
-[349, ["vspace", 0], 689, 629, [129, 346]],
-[350, "sandwichclampcollapsed", 1042, 842, [67, 69, null]],
-[351, ["vspace", 20], 637, 935, [39, 48]],
-[352, ["vspace", 20], 637, 769, [30, 39]],
-[353, "sandwichclampcollapsed", 654, 675, [28, 30, null]],
-[354, "sandwichclampcollapsed", 663, 469, [76, 78, null]],
-[355, "sandwichclampcollapsed", 671, 259, [109, 111, null]],
-[356, "sandwichclampcollapsed", 124, 816, [275, 277, null]],
-[357, "sandwichclampcollapsed", 122, 677, [302, 304, null]],
-[358, "sandwichclampcollapsed", 123, 521, [4, 6, null]],
-[359, "sandwichclampcollapsed", 123, 370, [248, 250, null]],
-[360, "sandwichclampcollapsed", 127, 232, [221, 223, null]],
-[361, "penup", 701, 377, [367, 116]],
-[362, "pendown", 701, 543, [116, 122]],
-[363, "hat", 718, 313, [null, 364, 367]],
-[364, ["string", "test"], 776, 325, [363, null]],
-[365, "stack", 707, 359, [111, 366, null]],
-[366, ["string", "test"], 765, 359, [365, null]],
-[367, "sandwichclampcollapsed", 718, 367, [363, 361, null]],
-[368, ["vspace", 1], 701, 837, [194, null]],
-[369, "penup", 689, 419, [111, 125]],
-[370, "pendown", 689, 545, [125, 129]],
-[371, "penup", 689, 839, [206, 139]],
-[372, "pendown", 689, 965, [139, 142]],
-[373, "penup", 700, 629, [90, 92]],
-[374, "pendown", 700, 755, [92, 95]],
-[375, "seth", 689, 713, [346, 376, 134]],
-[376, ["number", 0], 747, 713, [375, null]],
-[377, "seth", 725, 1359, [158, 378, 160]],
-[378, ["number", 0], 783, 1359, [377, null]]]
diff --git a/samples/game-set.ta b/samples/game-set.ta
deleted file mode 100644
index f917dba..0000000
--- a/samples/game-set.ta
+++ /dev/null
@@ -1,298 +0,0 @@
-[[0, "hat", 599, 213, [null, 1, 258]],
-[1, ["string", "shape1"], 657, 221, [0, null]],
-[2, "hat", 595, 367, [null, 3, 257]],
-[3, ["string", "shape2"], 653, 375, [2, null]],
-[4, "forward", 664, 525, [10, 5, 6]],
-[5, ["number", 70], 735, 525, [4, null]],
-[6, "back", 664, 567, [4, 7, 24]],
-[7, ["number", 70], 722, 567, [6, null]],
-[8, "seth", 599, 339, [32, 9, 19]],
-[9, ["number", 45], 698, 339, [8, null]],
-[10, "repeat", 599, 465, [28, 11, 4, 12]],
-[11, ["number", 4], 650, 465, [10, null]],
-[12, ["vspace", 40], 599, 543, [10, 21]],
-[13, "repeat", 599, 749, [23, 14, 15, 126]],
-[14, ["number", 4], 650, 749, [13, null]],
-[15, "forward", 664, 809, [13, 16, 17]],
-[16, ["number", 67], 735, 809, [15, null]],
-[17, "back", 664, 851, [15, 18, 26]],
-[18, ["number", 67], 722, 851, [17, null]],
-[19, "setpensize", 599, 381, [8, 20, 28]],
-[20, ["number", 40], 701, 381, [19, null]],
-[21, "setpensize", 599, 665, [12, 22, 23]],
-[22, ["number", 20], 701, 665, [21, null]],
-[23, "setshade", 599, 707, [21, 30, 13]],
-[24, "right", 664, 609, [6, 25, null]],
-[25, ["number", 90], 722, 609, [24, null]],
-[26, "right", 664, 893, [17, 27, null]],
-[27, ["number", 90], 722, 893, [26, null]],
-[28, "setshade", 599, 423, [19, 29, 10]],
-[29, ["number", 50], 684, 423, [28, null]],
-[30, "box", 684, 707, [23, 31, null]],
-[31, ["string", "shade"], 739, 707, [30, null]],
-[32, "setcolor", 599, 297, [258, 33, 8]],
-[33, "box", 676, 297, [32, 34, null]],
-[34, ["string", "color"], 731, 297, [33, null]],
-[35, ["storein", 0], 321, 433, [263, 36, 37, 50]],
-[36, ["string", "color"], 389, 433, [35, null]],
-[37, ["number", 0], 389, 475, [35, null]],
-[38, ["storein", 0], 318, 742, [265, 39, 40, 41]],
-[39, ["string", "shade"], 386, 742, [38, null]],
-[40, ["number", 0], 386, 784, [38, null]],
-[41, "repeat", 318, 826, [38, 42, 187, 75]],
-[42, ["number", 3], 369, 826, [41, null]],
-[43, "box", 505, 970, [45, 44, null]],
-[44, ["string", "shade"], 560, 970, [43, null]],
-[45, ["plus2", 0], 451, 970, [47, 43, 46]],
-[46, ["number", 50], 505, 1012, [45, null]],
-[47, ["storein", 0], 383, 928, [187, 48, 45, null]],
-[48, ["string", "shade"], 451, 928, [47, null]],
-[49, "stack", 109, 1035, [222, 64, 151]],
-[50, "repeat", 321, 517, [35, 51, 76, 74]],
-[51, ["number", 3], 372, 517, [50, null]],
-[52, ["string", "shape"], 221, 1035, [64, null]],
-[53, ["storein", 0], 386, 619, [76, 54, 56, null]],
-[54, ["string", "color"], 454, 619, [53, null]],
-[55, ["number", 35], 508, 703, [56, null]],
-[56, ["plus2", 0], 454, 661, [53, 57, 55]],
-[57, "box", 508, 661, [56, 58, null]],
-[58, ["string", "color"], 563, 661, [57, null]],
-[59, "box", 221, 1077, [64, 60, null]],
-[60, ["string", "shape"], 276, 1077, [59, null]],
-[61, ["storein", 0], 315, 287, [262, 62, 63, 65]],
-[62, ["string", "shape"], 383, 287, [61, null]],
-[63, ["number", 1], 383, 329, [61, null]],
-[64, ["plus2", 0], 167, 1035, [49, 52, 59]],
-[65, "repeat", 315, 371, [61, 66, 82, 73]],
-[66, ["number", 3], 366, 371, [65, null]],
-[67, ["storein", 0], 380, 473, [82, 68, 72, null]],
-[68, ["string", "shape"], 448, 473, [67, null]],
-[69, ["number", 1], 502, 557, [72, null]],
-[70, "box", 502, 515, [72, 71, null]],
-[71, ["string", "shape"], 557, 515, [70, null]],
-[72, ["plus2", 0], 448, 515, [67, 70, 69]],
-[73, ["sandwichcollapsed", 1], 315, 287, [65, null]],
-[74, ["sandwichcollapsed", 1], 321, 433, [50, null]],
-[75, ["sandwichcollapsed", 1], 318, 742, [41, null]],
-[76, "stack", 386, 577, [50, 77, 53]],
-[77, ["string", "numberloop"], 444, 577, [76, null]],
-[78, "hat", 318, 658, [null, 79, 265]],
-[79, ["string", "shadeloop"], 376, 666, [78, null]],
-[80, "hat", 321, 349, [null, 81, 263]],
-[81, ["string", "colorloop"], 379, 357, [80, null]],
-[82, "stack", 380, 431, [65, 83, 67]],
-[83, ["string", "colorloop"], 438, 431, [82, null]],
-[84, "hat", 315, 203, [null, 85, 262]],
-[85, ["string", "shapeloop"], 373, 211, [84, null]],
-[86, "setcolor", 595, 451, [257, 87, 89]],
-[87, "box", 672, 451, [86, 88, null]],
-[88, ["string", "color"], 727, 451, [87, null]],
-[89, "seth", 595, 493, [86, 90, 91]],
-[90, ["number", 0], 694, 493, [89, null]],
-[91, "setpensize", 595, 535, [89, 92, 93]],
-[92, ["number", 150], 697, 535, [91, null]],
-[93, "setshade", 595, 577, [91, 94, 95]],
-[94, ["number", 50], 680, 577, [93, null]],
-[95, "forward", 595, 619, [93, 96, 97]],
-[96, ["number", 1], 666, 619, [95, null]],
-[97, "back", 595, 661, [95, 98, 99]],
-[98, ["number", 1], 653, 661, [97, null]],
-[99, "setpensize", 595, 703, [97, 100, 101]],
-[100, ["number", 130], 697, 703, [99, null]],
-[101, "setshade", 595, 745, [99, 102, 106]],
-[102, "box", 680, 745, [101, 103, null]],
-[103, ["string", "shade"], 735, 745, [102, null]],
-[104, "repeat", 319, 666, [134, 105, 139, 153]],
-[105, ["number", 3], 370, 666, [104, null]],
-[106, "forward", 595, 787, [101, 107, 108]],
-[107, ["number", 1], 666, 787, [106, null]],
-[108, "back", 595, 829, [106, 109, 110]],
-[109, ["number", 1], 653, 829, [108, null]],
-[110, "setpensize", 595, 871, [108, 111, 112]],
-[111, ["number", 90], 697, 871, [110, null]],
-[112, "setshade", 595, 913, [110, 113, 114]],
-[113, ["number", 50], 680, 913, [112, null]],
-[114, "forward", 595, 955, [112, 115, 116]],
-[115, ["number", 1], 666, 955, [114, null]],
-[116, "back", 595, 997, [114, 117, 118]],
-[117, ["number", 1], 653, 997, [116, null]],
-[118, "setpensize", 595, 1039, [116, 119, 120]],
-[119, ["number", 70], 697, 1039, [118, null]],
-[120, "setshade", 595, 1081, [118, 121, 122]],
-[121, ["number", 100], 680, 1081, [120, null]],
-[122, "forward", 595, 1123, [120, 123, 124]],
-[123, ["number", 1], 666, 1123, [122, null]],
-[124, "back", 595, 1165, [122, 125, 127]],
-[125, ["number", 1], 653, 1165, [124, null]],
-[126, ["sandwichcollapsed", 1], 599, 297, [13, null]],
-[127, ["sandwichcollapsed", 1], 595, 451, [124, null]],
-[128, ["fillscreen", 0], 38, 624, [261, 130, 129, 199]],
-[129, ["number", "100"], 120, 666, [128, null]],
-[130, "box", 120, 624, [128, 131, null]],
-[131, ["string", "color"], 175, 624, [130, null]],
-[132, "hat", 319, 498, [null, 133, 264]],
-[133, ["string", "numberloop"], 377, 506, [132, null]],
-[134, ["storein", 0], 319, 582, [264, 135, 136, 104]],
-[135, ["string", "number"], 387, 582, [134, null]],
-[136, ["number", 1], 387, 624, [134, null]],
-[137, "hat", 591, 524, [null, 138, 256]],
-[138, ["string", "shape3"], 649, 532, [137, null]],
-[139, "stack", 384, 726, [104, 140, 179]],
-[140, ["string", "shadeloop"], 442, 726, [139, null]],
-[141, "repeat", 44, 807, [238, 142, 220, 228]],
-[142, "box", 95, 807, [141, 143, null]],
-[143, ["string", "number"], 150, 807, [142, null]],
-[144, ["setxy2", 0], 444, 755, [249, 145, 146, 250]],
-[145, ["number", -200], 502, 755, [144, null]],
-[146, ["number", 0], 502, 797, [144, null]],
-[147, "seth", 109, 1203, [224, 148, 149]],
-[148, ["number", 90], 208, 1203, [147, null]],
-[149, "forward", 109, 1245, [147, 150, 152]],
-[150, ["number", 200], 180, 1245, [149, null]],
-[151, "penup", 109, 1077, [49, 224]],
-[152, "pendown", 109, 1287, [149, null]],
-[153, ["sandwichcollapsed", 1], 319, 582, [104, null]],
-[154, "wait", 44, 1327, [228, 155, 189]],
-[155, ["number", 0.20000000000000001], 102, 1327, [154, null]],
-[156, "setcolor", 591, 608, [256, 157, 171]],
-[157, "box", 668, 608, [156, 158, null]],
-[158, ["string", "color"], 723, 608, [157, null]],
-[159, "setpensize", 591, 818, [169, 160, 161]],
-[160, ["number", 40], 693, 818, [159, null]],
-[161, "setshade", 591, 860, [159, 162, 282]],
-[162, ["number", 50], 676, 860, [161, null]],
-[163, "setpensize", 591, 1238, [296, 164, 165]],
-[164, ["number", 20], 693, 1238, [163, null]],
-[165, "setshade", 591, 1280, [163, 166, 266]],
-[166, "box", 676, 1280, [165, 167, null]],
-[167, ["string", "shade"], 731, 1280, [166, null]],
-[168, ["sandwichcollapsed", 1], 591, 608, [280, null]],
-[169, "pendown", 591, 776, [173, 159]],
-[170, "penup", 591, 692, [171, 173]],
-[171, "seth", 591, 650, [156, 172, 170]],
-[172, ["number", 270], 690, 650, [171, null]],
-[173, "forward", 591, 734, [170, 174, 169]],
-[174, ["number", 50], 662, 734, [173, null]],
-[175, ["start", 2.0], 34, 208, [null, 178]],
-[176, "stack", 34, 292, [178, 177, 246]],
-[177, ["string", "shapeloop"], 92, 292, [176, null]],
-[178, "hideblocks", 34, 250, [175, 176]],
-[179, ["storein", 0], 384, 768, [139, 180, 182, null]],
-[180, ["string", "number"], 452, 768, [179, null]],
-[181, ["number", 1], 506, 852, [182, null]],
-[182, ["plus2", 0], 452, 810, [179, 183, 181]],
-[183, "box", 506, 810, [182, 184, null]],
-[184, ["string", "number"], 561, 810, [183, null]],
-[185, "hat", 44, 391, [null, 186, 259]],
-[186, ["string", "action"], 102, 399, [185, null]],
-[187, "stack", 383, 886, [41, 188, 47]],
-[188, ["string", "action"], 441, 886, [187, null]],
-[189, ["sandwichcollapsed", 1], 44, 475, [154, null]],
-[190, "forward", 103, 1062, [204, 191, 201]],
-[191, ["number", "340"], 174, 1062, [190, null]],
-[192, ["setxy2", 0], 38, 876, [247, 193, 194, 248]],
-[193, ["number", -290], 96, 876, [192, null]],
-[194, ["number", "-170"], 96, 918, [192, null]],
-[195, "seth", 38, 792, [197, 196, 247]],
-[196, ["number", 0], 137, 792, [195, null]],
-[197, "setpensize", 38, 750, [199, 198, 195]],
-[198, ["number", 5], 140, 750, [197, null]],
-[199, "setshade", 38, 708, [128, 200, 197]],
-[200, ["number", 25], 123, 708, [199, null]],
-[201, ["arc", 0], 103, 1104, [190, 202, 203, 206]],
-[202, ["number", 90], 161, 1104, [201, null]],
-[203, ["number", 10], 161, 1146, [201, null]],
-[204, "repeat", 38, 1002, [248, 205, 190, 211]],
-[205, ["number", 2], 89, 1002, [204, null]],
-[206, "forward", 103, 1188, [201, 207, 208]],
-[207, ["number", "580"], 174, 1188, [206, null]],
-[208, ["arc", 0], 103, 1230, [206, 209, 210, null]],
-[209, ["number", 90], 161, 1230, [208, null]],
-[210, ["number", 10], 161, 1272, [208, null]],
-[211, ["sandwichcollapsed", 1], 38, 624, [204, null]],
-[212, "hat", 38, 540, [null, 213, 261]],
-[213, ["string", "card"], 96, 548, [212, null]],
-[214, "stack", 44, 475, [259, 215, 260]],
-[215, ["string", "card"], 102, 475, [214, null]],
-[216, "xcor", 177, 909, [220, null]],
-[217, "ycor", 177, 993, [222, null]],
-[218, "box", 167, 1119, [224, 219, null]],
-[219, ["string", "x"], 222, 1119, [218, null]],
-[220, ["storein", 0], 109, 867, [141, 221, 216, 222]],
-[221, ["string", "x"], 177, 867, [220, null]],
-[222, ["storein", 0], 109, 951, [220, 223, 217, 49]],
-[223, ["string", "y"], 177, 951, [222, null]],
-[224, ["setxy2", 0], 109, 1119, [151, 218, 225, 147]],
-[225, "box", 167, 1161, [224, 226, null]],
-[226, ["string", "y"], 222, 1161, [225, null]],
-[227, "ifelse", 44, 559, [260, 230, 251, 255, 238]],
-[228, ["vspace", 200], 44, 885, [141, 154]],
-[229, ["vspace", 40], 392, 713, [237, 253]],
-[230, ["equal2", 0], 110, 525, [227, 232, 231, null]],
-[231, ["number", 1], 156, 567, [230, null]],
-[232, "box", 156, 525, [230, 233, null]],
-[233, ["string", "number"], 211, 525, [232, null]],
-[234, ["setxy2", 0], 124, 669, [251, 235, 236, 254]],
-[235, ["number", 0], 182, 669, [234, null]],
-[236, ["number", 0], 182, 711, [234, null]],
-[237, "ifelse", 312, 645, [255, 239, 229, 249, null]],
-[238, ["vspace", 60], 44, 645, [227, 141]],
-[239, ["equal2", 0], 378, 611, [237, 241, 240, null]],
-[240, ["number", 2], 424, 653, [239, null]],
-[241, "box", 424, 611, [239, 242, null]],
-[242, ["string", "number"], 479, 611, [241, null]],
-[243, ["setxy2", 0], 392, 877, [253, 244, 245, 252]],
-[244, ["number", -100], 450, 877, [243, null]],
-[245, ["number", 0], 450, 919, [243, null]],
-[246, "showblocks", 34, 334, [176, null]],
-[247, "penup", 38, 834, [195, 192]],
-[248, "pendown", 38, 960, [192, 204]],
-[249, "penup", 444, 713, [237, 144]],
-[250, "pendown", 444, 839, [144, null]],
-[251, "penup", 124, 627, [227, 234]],
-[252, "pendown", 392, 961, [243, null]],
-[253, "penup", 392, 835, [229, 243]],
-[254, "pendown", 124, 753, [234, null]],
-[255, ["hspace", 40], 176, 627, [227, 237]],
-[256, "sandwichtop_no_arm_no_label", 573, 574, [137, 156]],
-[257, "sandwichtop_no_arm_no_label", 577, 417, [2, 86]],
-[258, "sandwichtop_no_arm_no_label", 581, 263, [0, 32]],
-[259, "sandwichtop_no_arm_no_label", 26, 441, [185, 214]],
-[260, ["vspace", 0], 44, 517, [214, 227]],
-[261, "sandwichtop_no_arm_no_label", 20, 590, [212, 128]],
-[262, "sandwichtop_no_arm_no_label", 297, 253, [84, 61]],
-[263, "sandwichtop_no_arm_no_label", 303, 399, [80, 35]],
-[264, "sandwichtop_no_arm_no_label", 301, 548, [132, 134]],
-[265, "sandwichtop_no_arm_no_label", 300, 708, [78, 38]],
-[266, "seth", 591, 1322, [165, 267, 268]],
-[267, ["number", "30"], 690, 1322, [266, null]],
-[268, "forward", 591, 1364, [266, 269, 270]],
-[269, ["number", 100], 662, 1364, [268, null]],
-[270, "right", 591, 1406, [268, 271, 272]],
-[271, ["number", "120"], 649, 1406, [270, null]],
-[272, "forward", 591, 1448, [270, 273, 274]],
-[273, ["number", 100], 662, 1448, [272, null]],
-[274, "right", 591, 1490, [272, 275, 276]],
-[275, ["number", "60"], 649, 1490, [274, null]],
-[276, "forward", 591, 1532, [274, 277, 278]],
-[277, ["number", 100], 662, 1532, [276, null]],
-[278, "right", 591, 1574, [276, 279, 280]],
-[279, ["number", "120"], 649, 1574, [278, null]],
-[280, "forward", 591, 1616, [278, 281, 168]],
-[281, ["number", 100], 662, 1616, [280, null]],
-[282, "seth", 591, 902, [161, 283, 284]],
-[283, ["number", 30], 690, 902, [282, null]],
-[284, "forward", 591, 944, [282, 285, 286]],
-[285, ["number", 100], 662, 944, [284, null]],
-[286, "right", 591, 986, [284, 287, 288]],
-[287, ["number", 120], 649, 986, [286, null]],
-[288, "forward", 591, 1028, [286, 289, 290]],
-[289, ["number", 100], 662, 1028, [288, null]],
-[290, "right", 591, 1070, [288, 291, 292]],
-[291, ["number", 60], 649, 1070, [290, null]],
-[292, "forward", 591, 1112, [290, 293, 294]],
-[293, ["number", 100], 662, 1112, [292, null]],
-[294, "right", 591, 1154, [292, 295, 296]],
-[295, ["number", 120], 649, 1154, [294, null]],
-[296, "forward", 591, 1196, [294, 297, 163]],
-[297, ["number", 100], 662, 1196, [296, null]]] \ No newline at end of file
diff --git a/samples/game-shapes-and-color.ta b/samples/game-shapes-and-color.ta
deleted file mode 100644
index 952bd9c..0000000
--- a/samples/game-shapes-and-color.ta
+++ /dev/null
@@ -1,392 +0,0 @@
-[[0, "hat", 801, 239, [null, 1, 380]],
-[1, ["string", "circle"], 859, 247, [0, null]],
-[2, "penup", 801, 323, [380, 3]],
-[3, "seth", 801, 365, [2, 4, 5]],
-[4, ["number", 270], 900, 365, [3, null]],
-[5, "forward", 801, 407, [3, 6, 7]],
-[6, ["number", 56], 872, 407, [5, null]],
-[7, "seth", 801, 449, [5, 8, 9]],
-[8, ["number", 0], 900, 449, [7, null]],
-[9, "pendown", 801, 491, [7, 10]],
-[10, ["arc", 0], 801, 533, [9, 11, 12, 335]],
-[11, ["number", 360], 859, 533, [10, null]],
-[12, ["number", 56], 859, 575, [10, null]],
-[13, "hat", 796, 97, [null, 14, 378]],
-[14, ["string", "square"], 854, 105, [13, null]],
-[15, "penup", 796, 181, [378, 16]],
-[16, "seth", 796, 223, [15, 17, 18]],
-[17, ["number", 0], 895, 223, [16, null]],
-[18, "back", 796, 265, [16, 19, 20]],
-[19, ["number", 50], 854, 265, [18, null]],
-[20, "seth", 796, 307, [18, 21, 22]],
-[21, ["number", 270], 895, 307, [20, null]],
-[22, "forward", 796, 349, [20, 23, 24]],
-[23, ["number", 50], 867, 349, [22, null]],
-[24, "seth", 796, 391, [22, 25, 26]],
-[25, ["number", 0], 895, 391, [24, null]],
-[26, "pendown", 796, 433, [24, 27]],
-[27, "repeat", 796, 475, [26, 28, 29, 350]],
-[28, ["number", 4], 847, 475, [27, null]],
-[29, "forward", 861, 535, [27, 30, 31]],
-[30, ["number", 100], 932, 535, [29, null]],
-[31, "right", 861, 577, [29, 32, null]],
-[32, ["number", 90], 919, 577, [31, null]],
-[33, "hat", 805, 532, [null, 34, 379]],
-[34, ["string", "triangle"], 863, 540, [33, null]],
-[35, "penup", 805, 616, [379, 36]],
-[36, "seth", 805, 658, [35, 37, 38]],
-[37, ["number", 270], 904, 658, [36, null]],
-[38, "forward", 805, 700, [36, 39, 40]],
-[39, ["number", 60], 876, 700, [38, null]],
-[40, "seth", 805, 742, [38, 41, 42]],
-[41, ["number", 0], 904, 742, [40, null]],
-[42, "back", 805, 784, [40, 43, 44]],
-[43, ["number", 50], 863, 784, [42, null]],
-[44, "seth", 805, 826, [42, 45, 46]],
-[45, ["number", 30], 904, 826, [44, null]],
-[46, "pendown", 805, 868, [44, 47]],
-[47, "repeat", 805, 910, [46, 48, 49, 349]],
-[48, ["number", 3], 856, 910, [47, null]],
-[49, "forward", 870, 970, [47, 50, 51]],
-[50, ["number", 120], 941, 970, [49, null]],
-[51, "right", 870, 1012, [49, 52, null]],
-[52, ["number", 120], 928, 1012, [51, null]],
-[53, "seth", 805, 1070, [349, 54, 348]],
-[54, ["number", 0], 904, 1070, [53, null]],
-[55, "hat", 806, 387, [null, 56, 381]],
-[56, ["string", "star"], 864, 395, [55, null]],
-[57, "penup", 806, 471, [381, 58]],
-[58, "seth", 806, 513, [57, 59, 60]],
-[59, ["number", 0], 905, 513, [58, null]],
-[60, "back", 806, 555, [58, 61, 62]],
-[61, ["number", 44], 864, 555, [60, null]],
-[62, "seth", 806, 597, [60, 63, 64]],
-[63, ["number", 270], 905, 597, [62, null]],
-[64, "forward", 806, 639, [62, 65, 66]],
-[65, ["number", 30], 877, 639, [64, null]],
-[66, "seth", 806, 681, [64, 67, 68]],
-[67, ["number", 18], 905, 681, [66, null]],
-[68, "pendown", 806, 723, [66, 69]],
-[69, "repeat", 806, 765, [68, 70, 71, 346]],
-[70, ["number", 5], 857, 765, [69, null]],
-[71, "forward", 871, 825, [69, 72, 73]],
-[72, ["number", 100], 942, 825, [71, null]],
-[73, "right", 871, 867, [71, 74, null]],
-[74, ["number", 144], 929, 867, [73, null]],
-[75, "seth", 806, 925, [346, 76, 347]],
-[76, ["number", 0], 905, 925, [75, null]],
-[77, "hat", 1043, 420, [null, 78, 370]],
-[78, ["string", "shapes"], 1101, 428, [77, null]],
-[79, "setpensize", 1043, 504, [370, 80, 356]],
-[80, ["number", 10], 1145, 504, [79, null]],
-[81, ["setxy2", 0], 1043, 588, [356, 82, 83, 357]],
-[82, ["number", -100], 1101, 588, [81, null]],
-[83, ["number", 100], 1101, 630, [81, null]],
-[84, "setcolor", 1043, 714, [357, 85, 86]],
-[85, "pop", 1120, 714, [84, null]],
-[86, "stack", 1043, 756, [84, 87, 358]],
-[87, "pop", 1101, 756, [86, null]],
-[88, ["setxy2", 0], 1043, 840, [358, 89, 90, 359]],
-[89, ["number", 100], 1101, 840, [88, null]],
-[90, ["number", 100], 1101, 882, [88, null]],
-[91, "setcolor", 1043, 966, [359, 92, 93]],
-[92, "pop", 1120, 966, [91, null]],
-[93, "stack", 1043, 1008, [91, 94, 360]],
-[94, "pop", 1101, 1008, [93, null]],
-[95, ["setxy2", 0], 1043, 1092, [360, 96, 97, 361]],
-[96, ["number", 100], 1101, 1092, [95, null]],
-[97, ["number", -100], 1101, 1134, [95, null]],
-[98, "setcolor", 1043, 1218, [361, 99, 100]],
-[99, "pop", 1120, 1218, [98, null]],
-[100, "stack", 1043, 1260, [98, 101, 362]],
-[101, "pop", 1101, 1260, [100, null]],
-[102, ["setxy2", 0], 1043, 1344, [362, 103, 104, 363]],
-[103, ["number", -100], 1101, 1344, [102, null]],
-[104, ["number", -100], 1101, 1386, [102, null]],
-[105, "setcolor", 1043, 1470, [363, 106, 107]],
-[106, "pop", 1120, 1470, [105, null]],
-[107, "stack", 1043, 1512, [105, 108, 364]],
-[108, "pop", 1101, 1512, [107, null]],
-[109, "hat", 1039, 263, [null, 110, 377]],
-[110, ["string", "calculate distance"], 1097, 271, [109, null]],
-[111, ["storein", 0], 1039, 347, [377, 112, 113, 355]],
-[112, ["string", "dx"], 1107, 347, [111, null]],
-[113, ["minus2", 0], 1107, 389, [111, 114, 116]],
-[114, "box", 1161, 389, [113, 115, null]],
-[115, ["string", "x"], 1216, 389, [114, null]],
-[116, "xcor", 1185, 431, [113, null]],
-[117, ["storein", 0], 1039, 473, [355, 118, 119, 354]],
-[118, ["string", "dy"], 1107, 473, [117, null]],
-[119, ["minus2", 0], 1107, 515, [117, 120, 122]],
-[120, "box", 1161, 515, [119, 121, null]],
-[121, ["string", "y"], 1216, 515, [120, null]],
-[122, "ycor", 1185, 557, [119, null]],
-[123, ["storein", 0], 1039, 599, [354, 124, 125, 334]],
-[124, ["string", "distance"], 1107, 599, [123, null]],
-[125, "sqrt", 1107, 641, [123, 126]],
-[126, ["plus2", 20.0], 1161, 641, [125, 127, 132]],
-[127, ["product2", 0], 1215, 641, [126, 128, 130]],
-[128, "box", 1269, 641, [127, 129, null]],
-[129, ["string", "dx"], 1324, 641, [128, null]],
-[130, "box", 1269, 683, [127, 131, null]],
-[131, ["string", "dx"], 1324, 683, [130, null]],
-[132, ["product2", 0], 1215, 723, [126, 133, 135]],
-[133, "box", 1269, 723, [132, 134, null]],
-[134, ["string", "dy"], 1324, 723, [133, null]],
-[135, "box", 1269, 765, [132, 136, null]],
-[136, ["string", "dy"], 1324, 765, [135, null]],
-[137, "hat", 516, 195, [null, 138, 382]],
-[138, ["string", "q1"], 574, 203, [137, null]],
-[139, ["storein", 0], 516, 279, [382, 140, 141, 142]],
-[140, ["string", "x"], 584, 279, [139, null]],
-[141, ["number", 100], 584, 321, [139, null]],
-[142, ["storein", 0], 516, 363, [139, 143, 144, 145]],
-[143, ["string", "y"], 584, 363, [142, null]],
-[144, ["number", 100], 584, 405, [142, null]],
-[145, "push", 516, 447, [142, 158, 146]],
-[146, "stack", 516, 489, [145, 147, 351]],
-[147, ["string", "ask"], 574, 489, [146, null]],
-[148, "hat", 518, 335, [null, 156, 383]],
-[149, ["storein", 0], 518, 419, [383, 150, 160, 151]],
-[150, ["string", "x"], 586, 419, [149, null]],
-[151, ["storein", 0], 518, 503, [149, 152, 159, 153]],
-[152, ["string", "y"], 586, 503, [151, null]],
-[153, "push", 518, 587, [151, 157, 154]],
-[154, "stack", 518, 629, [153, 155, 352]],
-[155, ["string", "ask"], 576, 629, [154, null]],
-[156, ["string", "q2"], 576, 343, [148, null]],
-[157, ["string", "Put the turtle in the red square."], 576, 587, [153, null]],
-[158, ["string", "Put the turtle in the blue triangle."], 574, 447, [145, null]],
-[159, ["number", 100], 586, 545, [151, null]],
-[160, ["number", -100], 586, 461, [149, null]],
-[161, "hat", 513, 477, [null, 162, 384]],
-[162, ["string", "q3"], 571, 485, [161, null]],
-[163, ["storein", 0], 513, 561, [384, 164, 183, 165]],
-[164, ["string", "x"], 581, 561, [163, null]],
-[165, ["storein", 0], 513, 645, [163, 166, 167, 168]],
-[166, ["string", "y"], 581, 645, [165, null]],
-[167, ["number", -100], 581, 687, [165, null]],
-[168, "push", 513, 729, [165, 182, 169]],
-[169, "stack", 513, 771, [168, 170, 353]],
-[170, ["string", "ask"], 571, 771, [169, null]],
-[171, "hat", 1052, 102, [null, 172, 385]],
-[172, ["string", "fini"], 1110, 110, [171, null]],
-[173, ["storein", 0], 1052, 186, [385, 176, 174, 175]],
-[174, ["number", 0], 1120, 228, [173, null]],
-[175, ["storein", 0], 1052, 270, [173, 177, 178, 179]],
-[176, ["string", "x"], 1120, 186, [173, null]],
-[177, ["string", "y"], 1120, 270, [175, null]],
-[178, ["number", 0], 1120, 312, [175, null]],
-[179, "push", 1052, 354, [175, 184, 180]],
-[180, "stack", 1052, 396, [179, 181, 345]],
-[181, ["string", "ask"], 1110, 396, [180, null]],
-[182, ["string", "Put the turtle in the red circle."], 571, 729, [168, null]],
-[183, ["number", -100], 581, 603, [163, null]],
-[184, ["string", "Well played!"], 1110, 354, [179, null]],
-[185, ["start", 2.0], 345, 201, [null, 374]],
-[186, ["storein", 0], 345, 277, [374, 187, 188, 189]],
-[187, ["string", "blue"], 413, 277, [186, null]],
-[188, ["number", 70], 413, 319, [186, null]],
-[189, ["storein", 0], 345, 361, [186, 190, 191, 192]],
-[190, ["string", "red"], 413, 361, [189, null]],
-[191, ["number", 0], 413, 403, [189, null]],
-[192, ["storein", 0], 345, 445, [189, 193, 194, 195]],
-[193, ["string", "green"], 413, 445, [192, null]],
-[194, ["number", 30], 413, 487, [192, null]],
-[195, "hideblocks", 345, 529, [192, 196]],
-[196, "stack", 345, 571, [195, 197, 198]],
-[197, ["string", "pattern a"], 403, 571, [196, null]],
-[198, "stack", 345, 613, [196, 199, 200]],
-[199, ["string", "q1"], 403, 613, [198, null]],
-[200, "stack", 345, 655, [198, 228, 201]],
-[201, "stack", 345, 697, [200, 202, 203]],
-[202, ["string", "q2"], 403, 697, [201, null]],
-[203, "stack", 345, 739, [201, 227, 204]],
-[204, "stack", 345, 781, [203, 205, 206]],
-[205, ["string", "q3"], 403, 781, [204, null]],
-[206, "stack", 345, 823, [204, 207, 343]],
-[207, ["string", "fini"], 403, 823, [206, null]],
-[208, "hat", 290, 493, [null, 209, 376]],
-[209, ["string", "answer"], 348, 501, [208, null]],
-[210, ["setxy2", 0], 290, 619, [388, 211, 212, 213]],
-[211, ["number", 0], 348, 619, [210, null]],
-[212, ["number", 0], 348, 661, [210, null]],
-[213, "forever", 290, 703, [210, 214, 336]],
-[214, "stack", 351, 721, [213, 215, 337]],
-[215, ["string", "calculate distance"], 409, 721, [214, null]],
-[216, "if", 351, 805, [337, 217, 221, 338]],
-[217, ["less2", 0], 389, 771, [216, 218, 220, null]],
-[218, "box", 435, 771, [217, 219, null]],
-[219, ["string", "distance"], 490, 771, [218, null]],
-[220, ["number", 100], 435, 813, [217, null]],
-[221, ["setxy2", 0], 403, 873, [216, 222, 223, 389]],
-[222, ["number", 0], 461, 873, [221, null]],
-[223, ["number", 0], 461, 915, [221, null]],
-[224, "stopstack", 403, 999, [389, null]],
-[225, "wait", 351, 1053, [338, 226, null]],
-[226, ["number", 1], 409, 1053, [225, null]],
-[227, ["string", "pattern c"], 403, 739, [203, null]],
-[228, ["string", "pattern b"], 403, 655, [200, null]],
-[229, "hat", 1313, 430, [null, 230, 373]],
-[230, ["string", "pattern a"], 1371, 438, [229, null]],
-[231, "clean", 1313, 514, [373, 232]],
-[232, "push", 1313, 556, [231, 233, 234]],
-[233, ["string", "square"], 1371, 556, [232, null]],
-[234, "push", 1313, 598, [232, 235, 237]],
-[235, "box", 1371, 598, [234, 236, null]],
-[236, ["string", "blue"], 1426, 598, [235, null]],
-[237, "push", 1313, 640, [234, 238, 239]],
-[238, ["string", "circle"], 1371, 640, [237, null]],
-[239, "push", 1313, 682, [237, 240, 242]],
-[240, "box", 1371, 682, [239, 241, null]],
-[241, ["string", "green"], 1426, 682, [240, null]],
-[242, "push", 1313, 724, [239, 243, 244]],
-[243, ["string", "triangle"], 1371, 724, [242, null]],
-[244, "push", 1313, 766, [242, 245, 247]],
-[245, "box", 1371, 766, [244, 246, null]],
-[246, ["string", "blue"], 1426, 766, [245, null]],
-[247, "push", 1313, 808, [244, 248, 249]],
-[248, ["string", "square"], 1371, 808, [247, null]],
-[249, "push", 1313, 850, [247, 250, 252]],
-[250, "box", 1371, 850, [249, 251, null]],
-[251, ["string", "red"], 1426, 850, [250, null]],
-[252, "stack", 1313, 892, [249, 253, 342]],
-[253, ["string", "shapes"], 1371, 892, [252, null]],
-[254, "hat", 1306, 268, [null, 255, 372]],
-[255, ["string", "pattern b"], 1364, 276, [254, null]],
-[256, "clean", 1306, 352, [372, 257]],
-[257, "push", 1306, 394, [256, 258, 259]],
-[258, ["string", "triangle"], 1364, 394, [257, null]],
-[259, "push", 1306, 436, [257, 260, 262]],
-[260, "box", 1364, 436, [259, 261, null]],
-[261, ["string", "red"], 1419, 436, [260, null]],
-[262, "push", 1306, 478, [259, 263, 264]],
-[263, ["string", "circle"], 1364, 478, [262, null]],
-[264, "push", 1306, 520, [262, 265, 267]],
-[265, "box", 1364, 520, [264, 266, null]],
-[266, ["string", "green"], 1419, 520, [265, null]],
-[267, "push", 1306, 562, [264, 268, 269]],
-[268, ["string", "square"], 1364, 562, [267, null]],
-[269, "push", 1306, 604, [267, 270, 272]],
-[270, "box", 1364, 604, [269, 271, null]],
-[271, ["string", "green"], 1419, 604, [270, null]],
-[272, "push", 1306, 646, [269, 273, 274]],
-[273, ["string", "square"], 1364, 646, [272, null]],
-[274, "push", 1306, 688, [272, 275, 277]],
-[275, "box", 1364, 688, [274, 276, null]],
-[276, ["string", "red"], 1419, 688, [275, null]],
-[277, "stack", 1306, 730, [274, 278, 341]],
-[278, ["string", "shapes"], 1364, 730, [277, null]],
-[279, "hat", 1296, 108, [null, 280, 371]],
-[280, ["string", "pattern c"], 1354, 116, [279, null]],
-[281, "clean", 1296, 192, [371, 282]],
-[282, "push", 1296, 234, [281, 283, 284]],
-[283, ["string", "circle"], 1354, 234, [282, null]],
-[284, "push", 1296, 276, [282, 285, 287]],
-[285, "box", 1354, 276, [284, 286, null]],
-[286, ["string", "red"], 1409, 276, [285, null]],
-[287, "push", 1296, 318, [284, 288, 289]],
-[288, ["string", "circle"], 1354, 318, [287, null]],
-[289, "push", 1296, 360, [287, 290, 292]],
-[290, "box", 1354, 360, [289, 291, null]],
-[291, ["string", "green"], 1409, 360, [290, null]],
-[292, "push", 1296, 402, [289, 293, 294]],
-[293, ["string", "square"], 1354, 402, [292, null]],
-[294, "push", 1296, 444, [292, 295, 297]],
-[295, "box", 1354, 444, [294, 296, null]],
-[296, ["string", "blue"], 1409, 444, [295, null]],
-[297, "push", 1296, 486, [294, 298, 299]],
-[298, ["string", "triangle"], 1354, 486, [297, null]],
-[299, "push", 1296, 528, [297, 300, 302]],
-[300, "box", 1354, 528, [299, 301, null]],
-[301, ["string", "red"], 1409, 528, [300, null]],
-[302, "stack", 1296, 570, [299, 303, 340]],
-[303, ["string", "shapes"], 1354, 570, [302, null]],
-[304, "hat", 284, 343, [null, 305, 375]],
-[305, ["string", "ask"], 342, 351, [304, null]],
-[306, ["setxy2", 0], 284, 469, [386, 307, 308, 387]],
-[307, ["number", -300], 342, 469, [306, null]],
-[308, ["number", 300], 342, 511, [306, null]],
-[309, "seth", 284, 595, [387, 310, 311]],
-[310, ["number", 90], 383, 595, [309, null]],
-[311, "setcolor", 284, 637, [309, 312, 313]],
-[312, ["number", 0], 361, 637, [311, null]],
-[313, "setshade", 284, 679, [311, 314, 315]],
-[314, ["number", 100], 369, 679, [313, null]],
-[315, "setpensize", 284, 721, [313, 316, 317]],
-[316, ["number", 120], 386, 721, [315, null]],
-[317, "forward", 284, 763, [315, 318, 319]],
-[318, ["number", 700], 355, 763, [317, null]],
-[319, "back", 284, 805, [317, 320, 321]],
-[320, ["number", 700], 342, 805, [319, null]],
-[321, "setshade", 284, 847, [319, 322, 323]],
-[322, ["number", 50], 369, 847, [321, null]],
-[323, "seth", 284, 889, [321, 324, 390]],
-[324, ["number", 0], 383, 889, [323, null]],
-[325, ["setxy2", 0], 284, 973, [390, 326, 327, 391]],
-[326, ["number", -300], 342, 973, [325, null]],
-[327, ["number", 300], 342, 1015, [325, null]],
-[328, "settextsize", 284, 1099, [391, 329, 330]],
-[329, ["number", 24], 388, 1099, [328, null]],
-[330, "show", 284, 1141, [328, 331, 332]],
-[331, "pop", 342, 1141, [330, null]],
-[332, "stack", 284, 1183, [330, 333, 339]],
-[333, ["string", "answer"], 342, 1183, [332, null]],
-[334, ["sandwichcollapsed", 1], 1039, 347, [123, null]],
-[335, ["sandwichcollapsed", 1], 801, 323, [10, null]],
-[336, ["sandwichcollapsed", 1], 290, 577, [213, null]],
-[337, ["vspace", 0], 351, 763, [214, 216]],
-[338, ["vspace", 60.0], 351, 891, [216, 225]],
-[339, ["sandwichcollapsed", 1], 284, 427, [332, null]],
-[340, ["sandwichcollapsed", 1], 1296, 192, [302, null]],
-[341, ["sandwichcollapsed", 1], 1306, 352, [277, null]],
-[342, ["sandwichcollapsed", 1], 1313, 514, [252, null]],
-[343, "showblocks", 345, 865, [206, 344]],
-[344, ["sandwichcollapsed", 1], 345, 277, [343, null]],
-[345, ["sandwichcollapsed", 1], 1052, 186, [180, null]],
-[346, ["vspace", 20.0], 806, 843, [69, 75]],
-[347, ["sandwichcollapsed", 1], 806, 471, [75, null]],
-[348, ["sandwichcollapsed", 1], 805, 616, [53, null]],
-[349, ["vspace", 20.0], 805, 988, [47, 53]],
-[350, ["sandwichcollapsed", 1], 796, 181, [27, null]],
-[351, ["sandwichcollapsed", 1], 516, 279, [146, null]],
-[352, ["sandwichcollapsed", 1], 518, 419, [154, null]],
-[353, ["sandwichcollapsed", 1], 513, 561, [169, null]],
-[354, ["vspace", 0], 1039, 557, [117, 123]],
-[355, ["vspace", 0], 1039, 431, [111, 117]],
-[356, "penup", 1043, 546, [79, 81]],
-[357, "pendown", 1043, 672, [81, 84]],
-[358, "penup", 1043, 798, [86, 88]],
-[359, "pendown", 1043, 924, [88, 91]],
-[360, "penup", 1043, 1050, [93, 95]],
-[361, "pendown", 1043, 1176, [95, 98]],
-[362, "penup", 1043, 1302, [100, 102]],
-[363, "pendown", 1043, 1428, [102, 105]],
-[364, "penup", 1043, 1554, [107, 366]],
-[365, "pendown", 1043, 1680, [366, 369]],
-[366, ["setxy2", 0], 1043, 1596, [364, 367, 368, 365]],
-[367, ["number", 0], 1101, 1596, [366, null]],
-[368, ["number", 0], 1101, 1638, [366, null]],
-[369, ["sandwichcollapsed", 1], 1043, 504, [365, null]],
-[370, "sandwichtop_no_arm_no_label", 1025, 470, [77, 79]],
-[371, "sandwichtop_no_arm_no_label", 1278, 158, [279, 281]],
-[372, "sandwichtop_no_arm_no_label", 1288, 318, [254, 256]],
-[373, "sandwichtop_no_arm_no_label", 1295, 480, [229, 231]],
-[374, "sandwichtop_no_arm_no_label", 327, 243, [185, 186]],
-[375, "sandwichtop_no_arm_no_label", 266, 393, [304, 386]],
-[376, "sandwichtop_no_arm_no_label", 272, 543, [208, 388]],
-[377, "sandwichtop_no_arm_no_label", 1021, 313, [109, 111]],
-[378, "sandwichtop_no_arm_no_label", 778, 147, [13, 15]],
-[379, "sandwichtop_no_arm_no_label", 787, 582, [33, 35]],
-[380, "sandwichtop_no_arm_no_label", 783, 289, [0, 2]],
-[381, "sandwichtop_no_arm_no_label", 788, 437, [55, 57]],
-[382, "sandwichtop_no_arm_no_label", 498, 245, [137, 139]],
-[383, "sandwichtop_no_arm_no_label", 500, 385, [148, 149]],
-[384, "sandwichtop_no_arm_no_label", 495, 527, [161, 163]],
-[385, "sandwichtop_no_arm_no_label", 1034, 152, [171, 173]],
-[386, "penup", 284, 427, [375, 306]],
-[387, "pendown", 284, 553, [306, 309]],
-[388, "penup", 290, 577, [376, 210]],
-[389, "pendown", 403, 957, [221, 224]],
-[390, "penup", 284, 931, [323, 325]],
-[391, "pendown", 284, 1057, [325, 328]]] \ No newline at end of file
diff --git a/samples/game-spiralaterals.ta b/samples/game-spiralaterals.ta
deleted file mode 100644
index d8b95fd..0000000
--- a/samples/game-spiralaterals.ta
+++ /dev/null
@@ -1,64 +0,0 @@
-[[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]]]
diff --git a/samples/game-trianglepaint.ta b/samples/game-trianglepaint.ta
deleted file mode 100644
index 3cf8400..0000000
--- a/samples/game-trianglepaint.ta
+++ /dev/null
@@ -1,648 +0,0 @@
-[[0, ["start", 2.0], 20, 180, [null, 613]],
-[1, ["storein", 0], 38, 386, [58, 2, 511, 515]],
-[2, ["string", "width"], 105, 386, [1, null]],
-[3, ["storein", 0], 38, 512, [515, 4, 513, 104]],
-[4, ["string", "height"], 105, 512, [3, null]],
-[5, "box", 754, 1240, [13, 6, null]],
-[6, ["string", "width"], 808, 1240, [5, null]],
-[7, "box", 754, 1156, [14, 8, null]],
-[8, ["string", "height"], 808, 1156, [7, null]],
-[9, "box", 730, 948, [15, 10, null]],
-[10, ["string", "width"], 784, 948, [9, null]],
-[11, "box", 730, 1322, [16, 12, null]],
-[12, ["string", "height"], 784, 1322, [11, null]],
-[13, ["minus2", 0], 676, 1198, [17, 21, 5]],
-[14, ["minus2", 0], 676, 1114, [18, 24, 7]],
-[15, ["plus2", 0], 676, 948, [19, 9, 23]],
-[16, ["plus2", 0], 676, 1280, [17, 22, 11]],
-[17, ["setxy2", 20], 618, 1198, [20, 13, 16, null]],
-[18, ["setxy2", 0], 618, 1072, [19, 25, 14, 20]],
-[19, ["setxy2", 20], 618, 948, [635, 15, 26, 18]],
-[20, ["vspace", 0], 618, 1156, [18, 17]],
-[21, "xcor", 730, 1198, [13, null]],
-[22, "ycor", 730, 1280, [16, null]],
-[23, "xcor", 730, 990, [15, null]],
-[24, "ycor", 730, 1114, [14, null]],
-[25, "xcor", 676, 1072, [18, null]],
-[26, "ycor", 676, 1030, [19, null]],
-[27, ["setxy2", 20], 618, 728, [637, 28, 35, 39]],
-[28, ["plus2", 0], 676, 728, [27, 29, 31]],
-[29, "box", 730, 728, [28, 30, null]],
-[30, ["string", "width"], 784, 728, [29, null]],
-[31, "xcor", 730, 770, [28, null]],
-[32, "ycor", 676, 976, [40, null]],
-[33, ["setxy2", 0], 618, 1018, [40, 34, 45, null]],
-[34, "xcor", 676, 1018, [33, null]],
-[35, ["minus2", 0], 676, 810, [27, 36, 37]],
-[36, "ycor", 730, 810, [35, null]],
-[37, "box", 754, 852, [35, 38, null]],
-[38, ["string", "height"], 808, 852, [37, null]],
-[39, ["vspace", 0], 618, 852, [27, 40]],
-[40, ["setxy2", 20], 618, 894, [39, 41, 32, 33]],
-[41, ["minus2", 0], 676, 894, [40, 42, 43]],
-[42, "xcor", 730, 894, [41, null]],
-[43, "box", 754, 936, [41, 44, null]],
-[44, ["string", "width"], 808, 936, [43, null]],
-[45, ["plus2", 0], 676, 1060, [33, 46, 47]],
-[46, "ycor", 730, 1060, [45, null]],
-[47, "box", 730, 1102, [45, 48, null]],
-[48, ["string", "height"], 784, 1102, [47, null]],
-[49, ["vspace", 0], 618, 1266, [342, 329]],
-[50, "hat", 600, 860, [null, 51, 635]],
-[51, ["string", "upper right"], 658, 872, [50, null]],
-[52, "hat", 600, 640, [null, 53, 637]],
-[53, ["string", "lower left"], 658, 652, [52, null]],
-[54, "stack", 554, 628, [451, 55, null]],
-[55, ["string", "upper left"], 612, 628, [54, null]],
-[56, "stack", 554, 688, [451, 57, null]],
-[57, ["string", "lower right"], 612, 688, [56, null]],
-[58, "setpensize", 38, 344, [622, 59, 1]],
-[59, ["number", 1], 140, 344, [58, null]],
-[60, ["storein", 0], 238, 408, [632, 61, 108, 62]],
-[61, ["string", "x"], 305, 408, [60, null]],
-[62, ["storein", 0], 238, 492, [60, 63, 106, 193]],
-[63, ["string", "y"], 305, 492, [62, null]],
-[64, "penup", 274, 910, [72, 66]],
-[65, "pendown", 274, 1036, [66, 396]],
-[66, ["setxy2", 0], 274, 952, [64, 67, 69, 65]],
-[67, "box", 332, 952, [66, 68, null]],
-[68, ["string", "x"], 386, 952, [67, null]],
-[69, "box", 332, 994, [66, 70, null]],
-[70, ["string", "y"], 386, 994, [69, null]],
-[71, ["repeat", 302], 238, 744, [197, 522, 528, 199]],
-[72, ["repeat", 126], 256, 868, [528, 73, 64, 112]],
-[73, ["number", 5], 314, 868, [72, null]],
-[74, ["storein", 0], 274, 1120, [396, 75, 78, null]],
-[75, ["string", "y"], 341, 1120, [74, null]],
-[76, "box", 395, 1162, [78, 77, null]],
-[77, ["string", "y"], 449, 1162, [76, null]],
-[78, ["minus2", 0], 341, 1162, [74, 76, 406]],
-[79, "box", 473, 1204, [406, 80, null]],
-[80, ["string", "height"], 527, 1204, [79, null]],
-[81, ["storein", 0], 256, 1264, [112, 82, 110, 83]],
-[82, ["string", "y"], 323, 1264, [81, null]],
-[83, ["storein", 0], 256, 1348, [81, 84, 89, null]],
-[84, ["string", "x"], 323, 1348, [83, null]],
-[85, "box", 377, 1390, [89, 86, null]],
-[86, ["string", "x"], 431, 1390, [85, null]],
-[87, "box", 431, 1432, [404, 88, null]],
-[88, ["string", "width"], 485, 1432, [87, null]],
-[89, ["plus2", 0], 323, 1390, [83, 85, 404]],
-[90, "hat", 220, 320, [null, 91, 632]],
-[91, ["string", "grid"], 278, 332, [90, null]],
-[92, "stack", 20, 352, [622, 93, 170]],
-[93, ["string", "grid"], 78, 352, [92, null]],
-[94, ["forever", 282], 338, 650, [618, 531, null]],
-[95, "hat", 320, 520, [null, 96, 623]],
-[96, ["string", "paint"], 378, 532, [95, null]],
-[97, "stack", 20, 436, [170, 98, null]],
-[98, ["string", "paint"], 78, 436, [97, null]],
-[99, "startfill", 392, 1128, [132, 235]],
-[100, "stopfill", 392, 1212, [235, null]],
-[101, ["ifelse", [0, 0]],
-536, 316, [453, 225, 114, 116, null]],
-[102, ["storein", 0], 38, 762, [521, 103, 508, null]],
-[103, ["string", "top"], 105, 762, [102, null]],
-[104, ["storein", 0], 38, 596, [3, 105, 516, 521]],
-[105, ["string", "left"], 105, 596, [104, null]],
-[106, "box", 305, 534, [62, 107, null]],
-[107, ["string", "top"], 359, 534, [106, null]],
-[108, "box", 305, 450, [60, 109, null]],
-[109, ["string", "left"], 359, 450, [108, null]],
-[110, "box", 323, 1306, [81, 111, null]],
-[111, ["string", "top"], 377, 1306, [110, null]],
-[112, ["vspace", 0], 256, 1222, [72, 81]],
-[113, ["setxy2", 0], 1058, 336, [128, 205, 207, 129]],
-[114, "stack", 554, 382, [101, 115, null]],
-[115, ["string", "upper right"], 612, 382, [114, null]],
-[116, "stack", 554, 442, [101, 117, null]],
-[117, ["string", "lower left"], 612, 442, [116, null]],
-[118, ["minus2", 0], 1181, 512, [120, 554, 414]],
-[119, "int", 1073, 512, [121, 120]],
-[120, ["division2", 20], 1127, 512, [119, 118, 286]],
-[121, ["product2", 40], 1019, 512, [122, 119, 282]],
-[122, ["plus2", 0], 965, 470, [201, 412, 121]],
-[123, ["product2", 40], 1063, 612, [127, 124, 292]],
-[124, "int", 1117, 612, [123, 125]],
-[125, ["division2", 20], 1171, 612, [124, 126, 290]],
-[126, ["minus2", 0], 1225, 612, [125, 408, 558]],
-[127, ["minus2", 0], 985, 570, [203, 410, 123]],
-[128, "penup", 1058, 294, [626, 113]],
-[129, "pendown", 1058, 420, [113, 278]],
-[130, "hat", 1040, 80, [null, 131, 213]],
-[131, ["string", "xy"], 1098, 92, [130, null]],
-[132, "stack", 392, 1086, [134, 133, 99]],
-[133, ["string", "xy"], 450, 1086, [132, null]],
-[134, ["ifelse", [0, 63]],
-374, 960, [279, 136, 616, 132, null]],
-[135, "setcolor", 774, 776, [609, 605, null]],
-[136, ["less2", 0], 430, 926, [134, 536, 137, null]],
-[137, "box", 500, 968, [136, 138, null]],
-[138, ["string", "left"], 554, 968, [137, null]],
-[139, "box", 936, 718, [611, 140, null]],
-[140, ["string", "height"], 990, 718, [139, null]],
-[141, "mousex", 423, 726, [531, null]],
-[142, ["repeat", 167], 278, 592, [147, 143, 160, 163]],
-[143, ["number", 10], 336, 592, [142, null]],
-[144, ["setxy2", 20], 296, 718, [145, 192, 151, 146]],
-[145, "penup", 296, 676, [160, 144]],
-[146, "pendown", 296, 842, [144, 166]],
-[147, ["storein", 0], 278, 508, [620, 148, 149, 142]],
-[148, ["string", "y"], 345, 508, [147, null]],
-[149, "box", 345, 550, [147, 150, null]],
-[150, ["string", "top"], 399, 550, [149, null]],
-[151, "box", 354, 800, [144, 152, null]],
-[152, ["string", "y"], 408, 800, [151, null]],
-[153, ["storein", 0], 296, 926, [166, 154, 159, null]],
-[154, ["string", "y"], 363, 926, [153, null]],
-[155, "box", 417, 968, [159, 156, null]],
-[156, ["string", "y"], 471, 968, [155, null]],
-[157, "box", 441, 1010, [159, 158, null]],
-[158, ["string", "height"], 495, 1010, [157, null]],
-[159, ["minus2", 0], 363, 968, [153, 155, 157]],
-[160, "setcolor", 296, 634, [142, 579, 145]],
-[161, "setcolor", 278, 1070, [163, 162, null]],
-[162, ["number", 0], 355, 1070, [161, null]],
-[163, ["vspace", 0], 278, 1028, [142, 161]],
-[164, "hat", 520, 240, [null, 165, 638]],
-[165, ["string", "rect"], 578, 252, [164, null]],
-[166, "stack", 296, 884, [146, 167, 153]],
-[167, ["string", "rect"], 354, 884, [166, null]],
-[168, "hat", 260, 420, [null, 169, 620]],
-[169, ["string", "palette"], 318, 432, [168, null]],
-[170, "stack", 20, 394, [92, 171, 97]],
-[171, ["string", "palette"], 78, 394, [170, null]],
-[172, "startfill", 538, 370, [180, 182]],
-[173, "stopfill", 538, 640, [182, null]],
-[174, "forward", 556, 538, [177, 186, 175]],
-[175, "right", 556, 580, [174, 176, null]],
-[176, ["number", 90], 614, 580, [175, null]],
-[177, "right", 556, 496, [179, 178, 174]],
-[178, ["number", 90], 614, 496, [177, null]],
-[179, "forward", 556, 454, [182, 184, 177]],
-[180, "seth", 538, 328, [638, 181, 172]],
-[181, ["number", 90], 596, 328, [180, null]],
-[182, ["repeat", 63], 538, 412, [172, 183, 179, 173]],
-[183, ["number", 2], 596, 412, [182, null]],
-[184, "box", 626, 454, [179, 185, null]],
-[185, ["string", "width"], 680, 454, [184, null]],
-[186, "box", 626, 538, [174, 187, null]],
-[187, ["string", "height"], 680, 538, [186, null]],
-[188, "box", 408, 718, [192, 189, null]],
-[189, ["string", "left"], 462, 718, [188, null]],
-[190, "box", 486, 760, [280, 191, null]],
-[191, ["string", "width"], 540, 760, [190, null]],
-[192, ["minus2", 0], 354, 718, [144, 188, 280]],
-[193, "fillscreen2", 238, 576, [62, 196, 195, 194, 197]],
-[194, ["number", 0], 319, 660, [193, null]],
-[195, ["number", 100], 319, 618, [193, null]],
-[196, ["number", 0], 319, 576, [193, null]],
-[197, "setgray", 238, 702, [193, 198, 71]],
-[198, ["number", 0], 311, 702, [197, null]],
-[199, "setgray", 238, 1450, [71, 200, null]],
-[200, ["number", 100], 311, 1450, [199, null]],
-[201, ["storein", 0], 898, 428, [630, 202, 122, null]],
-[202, ["string", "x"], 965, 428, [201, null]],
-[203, ["storein", 0], 918, 528, [631, 204, 127, null]],
-[204, ["string", "y"], 985, 528, [203, null]],
-[205, "box", 1116, 336, [113, 206, null]],
-[206, ["string", "x"], 1170, 336, [205, null]],
-[207, "box", 1116, 378, [113, 208, null]],
-[208, ["string", "y"], 1170, 378, [207, null]],
-[209, "hat", 880, 340, [null, 210, 630]],
-[210, ["string", "calc x"], 938, 352, [209, null]],
-[211, "hat", 900, 440, [null, 212, 631]],
-[212, ["string", "calc y"], 958, 452, [211, null]],
-[213, "stack", 1040, 134, [130, 214, 215]],
-[214, ["string", "calc x"], 1098, 134, [213, null]],
-[215, "stack", 1040, 176, [213, 216, 449]],
-[216, ["string", "calc y"], 1098, 176, [215, null]],
-[217, ["minus2", 20], 1205, 696, [237, 220, 548]],
-[218, "box", 1313, 696, [220, 219, null]],
-[219, ["string", "x"], 1367, 696, [218, null]],
-[220, ["plus2", 0], 1259, 696, [217, 218, 284]],
-[221, ["plus2", 20], 985, 690, [269, 243, 242]],
-[222, "box", 1283, 612, [224, 223, null]],
-[223, ["string", "y"], 1337, 612, [222, null]],
-[224, ["minus2", 0], 1205, 570, [239, 546, 222]],
-[225, ["less2", 0], 592, 282, [101, 273, 275, null]],
-[226, ["plus2", 20], 985, 896, [271, 265, 266]],
-[227, "box", 1283, 904, [231, 228, null]],
-[228, ["string", "x"], 1337, 904, [227, null]],
-[229, "box", 1337, 1030, [268, 230, null]],
-[230, ["string", "y"], 1391, 1030, [229, null]],
-[231, ["minus2", 0], 1205, 862, [252, 550, 227]],
-[232, ["minus2", 0], 1205, 988, [254, 552, 268]],
-[233, "hat", 500, 120, [null, 234, 624]],
-[234, ["string", "action"], 558, 132, [233, null]],
-[235, "stack", 392, 1170, [99, 236, 100]],
-[236, ["string", "action"], 450, 1170, [235, null]],
-[237, ["storein", 0], 1138, 654, [241, 238, 217, 267]],
-[238, ["string", "dx0"], 1205, 654, [237, null]],
-[239, ["storein", 0], 1138, 528, [628, 240, 224, 241]],
-[240, ["string", "dy0"], 1205, 528, [239, null]],
-[241, ["vspace", 0], 1138, 612, [239, 237]],
-[242, ["product2", 0], 1039, 772, [221, 248, 250]],
-[243, ["product2", 0], 1039, 690, [221, 244, 246]],
-[244, "box", 1093, 690, [243, 245, null]],
-[245, ["string", "dx0"], 1147, 690, [244, null]],
-[246, "box", 1093, 732, [243, 247, null]],
-[247, ["string", "dx0"], 1147, 732, [246, null]],
-[248, "box", 1093, 772, [242, 249, null]],
-[249, ["string", "dy0"], 1147, 772, [248, null]],
-[250, "box", 1093, 814, [242, 251, null]],
-[251, ["string", "dy0"], 1147, 814, [250, null]],
-[252, ["storein", 0], 1138, 820, [267, 253, 231, 256]],
-[253, ["string", "dx1"], 1205, 820, [252, null]],
-[254, ["storein", 0], 1138, 946, [256, 255, 232, null]],
-[255, ["string", "dy1"], 1205, 946, [254, null]],
-[256, ["vspace", 0], 1138, 904, [252, 254]],
-[257, "box", 1093, 978, [266, 258, null]],
-[258, ["string", "dx1"], 1147, 978, [257, null]],
-[259, "box", 1093, 1020, [266, 260, null]],
-[260, ["string", "dx1"], 1147, 1020, [259, null]],
-[261, "box", 1093, 896, [265, 262, null]],
-[262, ["string", "dy1"], 1147, 896, [261, null]],
-[263, "box", 1093, 938, [265, 264, null]],
-[264, ["string", "dy1"], 1147, 938, [263, null]],
-[265, ["product2", 0], 1039, 896, [226, 261, 263]],
-[266, ["product2", 0], 1039, 978, [226, 257, 259]],
-[267, ["vspace", 20], 1138, 738, [237, 252]],
-[268, ["minus2", 0], 1283, 1030, [232, 229, 288]],
-[269, ["storein", 0], 918, 648, [639, 270, 221, 277]],
-[270, ["string", "du"], 985, 648, [269, null]],
-[271, ["storein", 0], 918, 854, [277, 272, 226, null]],
-[272, ["string", "dl"], 985, 854, [271, null]],
-[273, "box", 638, 282, [225, 274, null]],
-[274, ["string", "du"], 692, 282, [273, null]],
-[275, "box", 662, 324, [225, 276, null]],
-[276, ["string", "dl"], 716, 324, [275, null]],
-[277, ["vspace", 40], 918, 732, [269, 271]],
-[278, ["vspace", 0], 1058, 462, [129, 464]],
-[279, ["vspace", 0], 374, 918, [529, 134]],
-[280, ["product2", 0], 432, 760, [192, 190, 281]],
-[281, ["number", 2], 486, 802, [280, null]],
-[282, "box", 1073, 634, [121, 283, null]],
-[283, ["string", "width"], 1127, 634, [282, null]],
-[284, "box", 1313, 738, [220, 285, null]],
-[285, ["string", "width"], 1367, 738, [284, null]],
-[286, "box", 1205, 594, [120, 287, null]],
-[287, ["string", "width"], 1259, 594, [286, null]],
-[288, "box", 1361, 1072, [268, 289, null]],
-[289, ["string", "height"], 1415, 1072, [288, null]],
-[290, "box", 1249, 694, [125, 291, null]],
-[291, ["string", "height"], 1303, 694, [290, null]],
-[292, "box", 1117, 734, [123, 293, null]],
-[293, ["string", "height"], 1171, 734, [292, null]],
-[294, "hat", 600, 540, [null, 295, 636]],
-[295, ["string", "upper left"], 658, 552, [294, null]],
-[296, ["setxy2", 20], 618, 628, [636, 297, 301, 309]],
-[297, ["plus2", 0], 676, 628, [296, 298, 300]],
-[298, "box", 730, 628, [297, 299, null]],
-[299, ["string", "width"], 784, 628, [298, null]],
-[300, "xcor", 730, 670, [297, null]],
-[301, "ycor", 676, 710, [296, null]],
-[302, ["setxy2", 0], 618, 918, [308, 303, 314, null]],
-[303, "xcor", 676, 918, [302, null]],
-[304, ["minus2", 0], 676, 834, [309, 305, 306]],
-[305, "ycor", 730, 834, [304, null]],
-[306, "box", 754, 876, [304, 307, null]],
-[307, ["string", "height"], 808, 876, [306, null]],
-[308, ["vspace", 0], 618, 876, [309, 302]],
-[309, ["setxy2", 20], 618, 752, [296, 310, 304, 308]],
-[310, ["minus2", 0], 676, 752, [309, 311, 312]],
-[311, "xcor", 730, 752, [310, null]],
-[312, "box", 754, 794, [310, 313, null]],
-[313, ["string", "width"], 808, 794, [312, null]],
-[314, ["plus2", 0], 676, 960, [302, 315, 316]],
-[315, "ycor", 730, 960, [314, null]],
-[316, "box", 730, 1002, [314, 317, null]],
-[317, ["string", "height"], 784, 1002, [316, null]],
-[318, "hat", 600, 760, [null, 319, 634]],
-[319, ["string", "lower right"], 658, 772, [318, null]],
-[320, ["setxy2", 20], 618, 1016, [341, 321, 357, 328]],
-[321, ["plus2", 0], 676, 1016, [320, 322, 324]],
-[322, "box", 730, 1016, [321, 323, null]],
-[323, ["string", "width"], 784, 1016, [322, null]],
-[324, "xcor", 730, 1058, [321, null]],
-[325, "ycor", 730, 1098, [357, null]],
-[326, "box", 730, 1140, [357, 327, null]],
-[327, ["string", "height"], 784, 1140, [326, null]],
-[328, ["vspace", 0], 618, 1140, [320, 342]],
-[329, ["setxy2", 20], 618, 1308, [49, 330, 334, 348]],
-[330, ["minus2", 0], 676, 1308, [329, 331, 332]],
-[331, "xcor", 730, 1308, [330, null]],
-[332, "box", 754, 1350, [330, 333, null]],
-[333, ["string", "width"], 808, 1350, [332, null]],
-[334, "ycor", 676, 1390, [329, null]],
-[335, ["setxy2", 0], 618, 890, [340, 336, 356, 341]],
-[336, "xcor", 676, 890, [335, null]],
-[337, "ycor", 730, 932, [356, null]],
-[338, "box", 754, 974, [356, 339, null]],
-[339, ["string", "height"], 808, 974, [338, null]],
-[340, "penup", 618, 848, [634, 335]],
-[341, "pendown", 618, 974, [335, 320]],
-[342, ["setxy2", 0], 618, 1182, [328, 343, 347, 49]],
-[343, "xcor", 676, 1182, [342, null]],
-[344, "ycor", 730, 1224, [347, null]],
-[345, "box", 754, 1266, [347, 346, null]],
-[346, ["string", "height"], 808, 1266, [345, null]],
-[347, ["minus2", 0], 676, 1224, [342, 344, 345]],
-[348, "penup", 618, 1432, [329, 349]],
-[349, ["setxy2", 0], 618, 1474, [348, 350, 351, 355]],
-[350, "xcor", 676, 1474, [349, null]],
-[351, ["plus2", 0], 676, 1516, [349, 352, 353]],
-[352, "ycor", 730, 1516, [351, null]],
-[353, "box", 730, 1558, [351, 354, null]],
-[354, ["string", "height"], 784, 1558, [353, null]],
-[355, "pendown", 618, 1558, [349, null]],
-[356, ["minus2", 0], 676, 932, [335, 337, 338]],
-[357, ["plus2", 0], 676, 1098, [320, 325, 326]],
-[358, "stack", 558, 570, [360, 359, 368]],
-[359, ["string", "lower left"], 616, 570, [358, null]],
-[360, "stack", 558, 528, [633, 361, 358]],
-[361, ["string", "upper right"], 616, 528, [360, null]],
-[362, "stack", 558, 780, [364, 363, 373]],
-[363, ["string", "lower right"], 616, 780, [362, null]],
-[364, "stack", 558, 738, [372, 365, 362]],
-[365, ["string", "upper left"], 616, 738, [364, null]],
-[366, "box", 694, 696, [371, 367, null]],
-[367, ["string", "height"], 748, 696, [366, null]],
-[368, ["setxy2", 0], 558, 612, [358, 369, 371, 372]],
-[369, "xcor", 616, 612, [368, null]],
-[370, "ycor", 670, 654, [371, null]],
-[371, ["minus2", 0], 616, 654, [368, 370, 366]],
-[372, ["vspace", 0], 558, 696, [368, 364]],
-[373, ["setxy2", 20], 558, 822, [362, 376, 374, 379]],
-[374, "ycor", 616, 904, [373, null]],
-[375, "xcor", 670, 822, [376, null]],
-[376, ["plus2", 0], 616, 822, [373, 375, 377]],
-[377, "box", 670, 864, [376, 378, null]],
-[378, ["string", "width"], 724, 864, [377, null]],
-[379, "stack", 558, 946, [373, 380, 381]],
-[380, ["string", "lower left"], 616, 946, [379, null]],
-[381, "stack", 558, 988, [379, 382, 387]],
-[382, ["string", "upper right"], 616, 988, [381, null]],
-[383, "stack", 558, 1156, [391, 384, 385]],
-[384, ["string", "upper left"], 616, 1156, [383, null]],
-[385, "stack", 558, 1198, [383, 386, 398]],
-[386, ["string", "lower right"], 616, 1198, [385, null]],
-[387, ["setxy2", 0], 558, 1030, [381, 388, 390, 391]],
-[388, "xcor", 616, 1030, [387, null]],
-[389, "ycor", 670, 1072, [390, null]],
-[390, ["plus2", 0], 616, 1072, [387, 389, 392]],
-[391, ["vspace", 0], 558, 1114, [387, 383]],
-[392, "box", 670, 1114, [390, 393, null]],
-[393, ["string", "height"], 724, 1114, [392, null]],
-[394, "hat", 540, 440, [null, 395, 633]],
-[395, ["string", "4 squares"], 598, 452, [394, null]],
-[396, "stack", 274, 1078, [65, 397, 74]],
-[397, ["string", "4 squares"], 332, 1078, [396, null]],
-[398, ["setxy2", 20], 558, 1240, [385, 401, 400, null]],
-[399, "xcor", 670, 1240, [401, null]],
-[400, "ycor", 616, 1322, [398, null]],
-[401, ["minus2", 0], 616, 1240, [398, 399, 402]],
-[402, "box", 694, 1282, [401, 403, null]],
-[403, ["string", "width"], 748, 1282, [402, null]],
-[404, ["product2", 0], 377, 1432, [89, 87, 405]],
-[405, ["number", 2], 431, 1474, [404, null]],
-[406, ["product2", 0], 419, 1204, [78, 79, 407]],
-[407, ["number", 2], 473, 1246, [406, null]],
-[408, "box", 1279, 612, [126, 409, null]],
-[409, ["string", "top"], 1333, 612, [408, null]],
-[410, "box", 1039, 570, [127, 411, null]],
-[411, ["string", "top"], 1093, 570, [410, null]],
-[412, "box", 1019, 470, [122, 413, null]],
-[413, ["string", "left"], 1073, 470, [412, null]],
-[414, "box", 1259, 554, [118, 415, null]],
-[415, ["string", "left"], 1313, 554, [414, null]],
-[416, "box", 1408, 376, [427, 417, null]],
-[417, ["string", "x"], 1462, 376, [416, null]],
-[418, "box", 1432, 580, [426, 419, null]],
-[419, ["string", "y"], 1486, 580, [418, null]],
-[420, "box", 1378, 458, [424, 421, null]],
-[421, ["string", "width"], 1432, 458, [420, null]],
-[422, "box", 1378, 620, [425, 423, null]],
-[423, ["string", "height"], 1432, 620, [422, null]],
-[424, ["division2", 20], 1300, 376, [432, 427, 420]],
-[425, ["division2", 20], 1300, 538, [434, 426, 422]],
-[426, ["minus2", 0], 1354, 538, [425, 428, 418]],
-[427, ["minus2", 0], 1354, 376, [424, 416, 430]],
-[428, "box", 1408, 538, [426, 429, null]],
-[429, ["string", "top"], 1462, 538, [428, null]],
-[430, "box", 1432, 418, [427, 431, null]],
-[431, ["string", "left"], 1486, 418, [430, null]],
-[432, ["remainder2", 40], 1240, 376, [443, 424, 433]],
-[433, ["number", 2], 1324, 498, [432, null]],
-[434, ["remainder2", 40], 1240, 538, [443, 425, 435]],
-[435, ["number", 2], 1324, 660, [434, null]],
-[436, ["storein", 0], 1156, 596, [438, 437, 439, null]],
-[437, ["string", "phase"], 1223, 596, [436, null]],
-[438, ["ifelse", [21, 21]],
-1138, 530, [444, 443, 436, 440, null]],
-[439, ["number", 0], 1223, 638, [436, null]],
-[440, ["storein", 0], 1156, 698, [438, 441, 442, null]],
-[441, ["string", "phase"], 1223, 698, [440, null]],
-[442, ["number", 1], 1223, 740, [440, null]],
-[443, ["equal2", 60], 1194, 376, [438, 432, 434, null]],
-[444, ["vspace", 40], 1138, 408, [629, 438]],
-[445, "hat", 1120, 320, [null, 446, 629]],
-[446, ["string", "calc phase"], 1178, 332, [445, null]],
-[447, "box", 620, 174, [455, 448, null]],
-[448, ["string", "phase"], 674, 174, [447, null]],
-[449, "stack", 1040, 218, [215, 450, 626]],
-[450, ["string", "calc phase"], 1098, 218, [449, null]],
-[451, ["ifelse", [0, 0]],
-536, 562, [454, 457, 54, 56, null]],
-[452, ["ifelse", [93, 93]],
-518, 208, [624, 455, 453, 454, null]],
-[453, ["vspace", 0], 536, 274, [452, 101]],
-[454, ["vspace", 0], 536, 520, [452, 451]],
-[455, ["equal2", 0], 574, 174, [452, 447, 456, null]],
-[456, ["number", 0], 620, 216, [455, null]],
-[457, ["less2", 0], 592, 528, [451, 458, 460, null]],
-[458, "box", 638, 528, [457, 459, null]],
-[459, ["string", "du"], 692, 528, [458, null]],
-[460, "box", 662, 570, [457, 461, null]],
-[461, ["string", "dl"], 716, 570, [460, null]],
-[462, "hat", 900, 560, [null, 463, 639]],
-[463, ["string", "calc distances"], 958, 572, [462, null]],
-[464, ["ifelse", [0, 0]],
-1058, 504, [278, 467, 475, 477, 465]],
-[465, "stack", 1058, 690, [464, 466, null]],
-[466, ["string", "calc distances"], 1116, 690, [465, null]],
-[467, ["equal2", 0], 1114, 470, [464, 469, 468, null]],
-[468, ["number", 0], 1160, 512, [467, null]],
-[469, "box", 1160, 470, [467, 470, null]],
-[470, ["string", "phase"], 1214, 470, [469, null]],
-[471, "hat", 1120, 440, [null, 472, 628]],
-[472, ["string", "phase 0"], 1178, 452, [471, null]],
-[473, "hat", 1140, 540, [null, 474, 627]],
-[474, ["string", "phase 1"], 1198, 552, [473, null]],
-[475, "stack", 1076, 570, [464, 476, null]],
-[476, ["string", "phase 0"], 1134, 570, [475, null]],
-[477, "stack", 1076, 630, [464, 478, null]],
-[478, ["string", "phase 1"], 1134, 630, [477, null]],
-[479, ["storein", 0], 1158, 628, [627, 480, 481, 484]],
-[480, ["string", "dy0"], 1225, 628, [479, null]],
-[481, ["minus2", 0], 1225, 670, [479, 538, 482]],
-[482, "box", 1303, 712, [481, 483, null]],
-[483, ["string", "y"], 1357, 712, [482, null]],
-[484, ["vspace", 0], 1158, 712, [479, 485]],
-[485, ["storein", 0], 1158, 754, [484, 486, 487, 493]],
-[486, ["string", "dx0"], 1225, 754, [485, null]],
-[487, ["minus2", 0], 1225, 796, [485, 489, 540]],
-[488, ["plus2", 0], 1303, 1004, [496, 497, 491]],
-[489, "box", 1279, 796, [487, 490, null]],
-[490, ["string", "x"], 1333, 796, [489, null]],
-[491, "box", 1357, 1046, [488, 492, null]],
-[492, ["string", "width"], 1411, 1046, [491, null]],
-[493, ["vspace", 20], 1158, 838, [485, 494]],
-[494, ["storein", 0], 1158, 920, [493, 495, 496, 499]],
-[495, ["string", "dx1"], 1225, 920, [494, null]],
-[496, ["minus2", 0], 1225, 962, [494, 544, 488]],
-[497, "box", 1357, 1004, [488, 498, null]],
-[498, ["string", "x"], 1411, 1004, [497, null]],
-[499, ["vspace", 0], 1158, 1004, [494, 500]],
-[500, ["storein", 0], 1158, 1046, [499, 501, 502, null]],
-[501, ["string", "dy1"], 1225, 1046, [500, null]],
-[502, ["minus2", 0], 1225, 1088, [500, 542, 503]],
-[503, ["minus2", 0], 1303, 1130, [502, 504, 506]],
-[504, "box", 1357, 1130, [503, 505, null]],
-[505, ["string", "y"], 1411, 1130, [504, null]],
-[506, "box", 1381, 1172, [503, 507, null]],
-[507, ["string", "height"], 1435, 1172, [506, null]],
-[508, "toppos", 105, 804, [102, null]],
-[509, "leftpos", 159, 638, [516, null]],
-[510, "toppos", 159, 428, [511, null]],
-[511, ["division2", 0], 105, 428, [1, 510, 512]],
-[512, ["number", 5], 183, 470, [511, null]],
-[513, "box", 105, 554, [3, 514, null]],
-[514, ["string", "width"], 159, 554, [513, null]],
-[515, ["vspace", 0], 38, 470, [1, 3]],
-[516, ["plus2", 0], 105, 638, [104, 509, 519]],
-[517, "box", 213, 680, [519, 518, null]],
-[518, ["string", "width"], 267, 680, [517, null]],
-[519, ["product2", 0], 159, 680, [516, 517, 520]],
-[520, ["number", 2], 213, 722, [519, null]],
-[521, ["vspace", 20], 38, 680, [104, 102]],
-[522, ["division2", 0], 296, 744, [71, 523, 524]],
-[523, "width", 350, 744, [522, null]],
-[524, ["product2", 0], 374, 786, [522, 526, 525]],
-[525, ["number", 2], 428, 828, [524, null]],
-[526, "box", 428, 786, [524, 527, null]],
-[527, ["string", "width"], 482, 786, [526, null]],
-[528, ["vspace", 20], 256, 786, [71, 72]],
-[529, ["if", 156], 356, 852, [533, 530, 279, null]],
-[530, "mousebutton2", 412, 868, [529, null]],
-[531, ["storein", 0], 356, 684, [94, 532, 141, 533]],
-[532, ["string", "mousex"], 423, 684, [531, null]],
-[533, ["storein", 0], 356, 768, [531, 534, 535, 529]],
-[534, ["string", "mousey"], 423, 768, [533, null]],
-[535, "mousey", 423, 810, [533, null]],
-[536, "box", 476, 926, [136, 537, null]],
-[537, ["string", "mousex"], 530, 926, [536, null]],
-[538, "box", 1279, 670, [481, 539, null]],
-[539, ["string", "mousey"], 1333, 670, [538, null]],
-[540, "box", 1303, 838, [487, 541, null]],
-[541, ["string", "mousex"], 1357, 838, [540, null]],
-[542, "box", 1279, 1088, [502, 543, null]],
-[543, ["string", "mousey"], 1333, 1088, [542, null]],
-[544, "box", 1279, 962, [496, 545, null]],
-[545, ["string", "mousex"], 1333, 962, [544, null]],
-[546, "box", 1259, 570, [224, 547, null]],
-[547, ["string", "mousey"], 1313, 570, [546, null]],
-[548, "box", 1283, 778, [217, 549, null]],
-[549, ["string", "mousex"], 1337, 778, [548, null]],
-[550, "box", 1259, 862, [231, 551, null]],
-[551, ["string", "mousex"], 1313, 862, [550, null]],
-[552, "box", 1259, 988, [232, 553, null]],
-[553, ["string", "mousey"], 1313, 988, [552, null]],
-[554, "box", 1235, 512, [118, 555, null]],
-[555, ["string", "mousex"], 1289, 512, [554, null]],
-[556, "box", 858, 676, [610, 557, null]],
-[557, ["string", "mousey"], 912, 676, [556, null]],
-[558, "box", 1303, 654, [126, 559, null]],
-[559, ["string", "mousey"], 1357, 654, [558, null]],
-[560, "push", 38, 680, [568, 578, null]],
-[561, "push", 38, 302, [621, 577, 562]],
-[562, "push", 38, 344, [561, 576, 563]],
-[563, "push", 38, 386, [562, 575, 569]],
-[564, "push", 38, 470, [569, 574, 565]],
-[565, "push", 38, 512, [564, 573, 566]],
-[566, "push", 38, 554, [565, 572, 567]],
-[567, "push", 38, 596, [566, 571, 568]],
-[568, "push", 38, 638, [567, 570, 560]],
-[569, "push", 38, 428, [563, 580, 564]],
-[570, "orange", 96, 638, [568, null]],
-[571, "yellow", 96, 596, [567, null]],
-[572, "green", 96, 554, [566, null]],
-[573, "cyan", 96, 512, [565, null]],
-[574, "blue", 96, 470, [564, null]],
-[575, "purple", 96, 386, [563, null]],
-[576, "white", 96, 344, [562, null]],
-[577, "black", 96, 302, [561, null]],
-[578, "red", 96, 680, [560, null]],
-[579, "pop", 373, 634, [160, null]],
-[580, ["number", 80], 96, 428, [569, null]],
-[581, ["ifelse", [83, 93]],
-738, 376, [625, 596, 595, 612, null]],
-[582, "setcolor", 756, 608, [585, 604, null]],
-[583, "setshade", 756, 524, [595, 584, 585]],
-[584, ["number", 50], 841, 524, [583, null]],
-[585, "setgray", 756, 566, [583, 586, 582]],
-[586, ["number", 100], 829, 566, [585, null]],
-[587, "box", 840, 342, [596, 588, null]],
-[588, ["string", "mousey"], 894, 342, [587, null]],
-[589, "box", 972, 384, [591, 590, null]],
-[590, ["string", "height"], 1026, 384, [589, null]],
-[591, ["product2", 0], 918, 384, [594, 589, 592]],
-[592, ["number", 2], 972, 426, [591, null]],
-[593, "bottompos", 918, 466, [594, null]],
-[594, ["plus2", 20], 864, 384, [596, 591, 593]],
-[595, ["vspace", 20], 756, 442, [581, 583]],
-[596, ["greater2", 0], 794, 342, [581, 587, 594, null]],
-[597, ["setxy2", 0], 720, 216, [598, 600, 602, 599]],
-[598, "penup", 720, 174, [614, 597]],
-[599, "pendown", 720, 300, [597, 625]],
-[600, "box", 778, 216, [597, 601, null]],
-[601, ["string", "mousex"], 832, 216, [600, null]],
-[602, "box", 778, 258, [597, 603, null]],
-[603, ["string", "mousey"], 832, 258, [602, null]],
-[604, "see", 833, 608, [582, null]],
-[605, "white", 851, 776, [135, null]],
-[606, "black", 851, 836, [607, null]],
-[607, "setcolor", 774, 836, [609, 606, null]],
-[608, "bottompos", 936, 760, [611, null]],
-[609, ["ifelse", [0, 0]],
-756, 710, [612, 610, 135, 607, null]],
-[610, ["greater2", 0], 812, 676, [609, 556, 611, null]],
-[611, ["plus2", 0], 882, 718, [610, 139, 608]],
-[612, ["vspace", 0], 756, 668, [581, 609]],
-[613, "clean", 20, 226, [0, 621]],
-[614, "hat", 720, 120, [null, 615, 598]],
-[615, ["string", "select color"], 778, 132, [614, null]],
-[616, "stack", 392, 1026, [134, 617, null]],
-[617, ["string", "select color"], 450, 1026, [616, null]],
-[618, "setcolor", 338, 608, [623, 619, 94]],
-[619, "red", 415, 608, [618, null]],
-[620, "sandwichclampcollapsed", 260, 474, [168, 147, null]],
-[621, "sandwichclampcollapsed", 20, 268, [613, 561, 622]],
-[622, "sandwichclampcollapsed", 20, 310, [621, 58, 92]],
-[623, "sandwichclampcollapsed", 320, 574, [95, 618, null]],
-[624, "sandwichclampcollapsed", 500, 174, [233, 452, null]],
-[625, "sandwichclampcollapsed", 720, 342, [599, 581, null]],
-[626, "sandwichclampcollapsed", 1040, 260, [449, 128, null]],
-[627, "sandwichclampcollapsed", 1140, 594, [473, 479, null]],
-[628, "sandwichclampcollapsed", 1120, 494, [471, 239, null]],
-[629, "sandwichclampcollapsed", 1120, 374, [445, 444, null]],
-[630, "sandwichclampcollapsed", 880, 394, [209, 201, null]],
-[631, "sandwichclampcollapsed", 900, 494, [211, 203, null]],
-[632, "sandwichclampcollapsed", 220, 374, [90, 60, null]],
-[633, "sandwichclampcollapsed", 540, 494, [394, 360, null]],
-[634, "sandwichclampcollapsed", 600, 814, [318, 340, null]],
-[635, "sandwichclampcollapsed", 600, 914, [50, 19, null]],
-[636, "sandwichclampcollapsed", 600, 594, [294, 296, null]],
-[637, "sandwichclampcollapsed", 600, 694, [52, 27, null]],
-[638, "sandwichclampcollapsed", 520, 294, [164, 180, null]],
-[639, "sandwichclampcollapsed", 900, 614, [462, 269, null]]]
diff --git a/samples/images/Africa.png b/samples/images/Africa.png
deleted file mode 100644
index f508546..0000000
--- a/samples/images/Africa.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/Australia.png b/samples/images/Australia.png
deleted file mode 100644
index 26b9b33..0000000
--- a/samples/images/Australia.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/Boston.png b/samples/images/Boston.png
deleted file mode 100644
index 5ab2ff7..0000000
--- a/samples/images/Boston.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/COPYING b/samples/images/COPYING
deleted file mode 100644
index ab71eda..0000000
--- a/samples/images/COPYING
+++ /dev/null
@@ -1,36 +0,0 @@
-Permission is granted to copy, distribute and/or modify these documents
-under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
-copy of the license is included in the section entitled "GNU Free
-Documentation License".
-
-The images retrieved from Wikipedia are available under the Creative
-Commons Attribution-ShareAlike 3.0 license (CC_BY_SA 3.0).
-
-Riptor3000 is the copyright holder of Boston.png (retrieved from the
-Wikipedia and modified by Walter Bender, 2010).
-
-Pythagoras is from the Wikimedia Commons, uploaded in 2007 by Galilea.
-
-Elise Bender is the copyright holder of me.jpg
-
-Nutzelfutz uploaded World_Map_flat_Mercator.png to the Wikipedia in
-2008. World_Map.png is a modification of World_Map_flat_Mercator.png
-by Walter Bender in 2010. Africa.png, Australia.png, Eurasia.png,
-North_America.png, and South_America.png are modifications of
-World_Map.png made by Jalen Basquiet and Walter Bender in 2010.
-
-Earth Western Hemisphere.jpg is a NASA image uploaded to Wikipedia in
-2005 by Tom. earth.png is a modification of Earth Western
-Hemisphere.jpg made by Walter Bender in 2010.
-
-North America satellite globe.jpg is a NASA image uploaded to
-Wikipedia in 2004 by Bjarki S. North Aemrica.jpg is a modification of
-North America satellite globe.jpg made by Walter Bender in 2010.
-
-MissMJ uploaded 2000px-New_England_USA.svg.png to the WIkipedia in
-2008. New_England.png, Massachusetts.png and United_States.png are
-modifications of 2000px-New_England_USA.svg.png made by Walter Bender
-in 2010.
-
diff --git a/samples/images/Eurasia.png b/samples/images/Eurasia.png
deleted file mode 100644
index d7e8285..0000000
--- a/samples/images/Eurasia.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/Massachuetts.png b/samples/images/Massachuetts.png
deleted file mode 100644
index d912743..0000000
--- a/samples/images/Massachuetts.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/New-England.png b/samples/images/New-England.png
deleted file mode 100644
index 4cdb013..0000000
--- a/samples/images/New-England.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/North_America.jpg b/samples/images/North_America.jpg
deleted file mode 100644
index ae19e12..0000000
--- a/samples/images/North_America.jpg
+++ /dev/null
Binary files differ
diff --git a/samples/images/North_America.png b/samples/images/North_America.png
deleted file mode 100644
index a32e4fb..0000000
--- a/samples/images/North_America.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/Pythagoras.jpg b/samples/images/Pythagoras.jpg
deleted file mode 100644
index 4b84ac5..0000000
--- a/samples/images/Pythagoras.jpg
+++ /dev/null
Binary files differ
diff --git a/samples/images/South_America.png b/samples/images/South_America.png
deleted file mode 100644
index 4f3c02f..0000000
--- a/samples/images/South_America.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/United_States.png b/samples/images/United_States.png
deleted file mode 100644
index 5ae1d2e..0000000
--- a/samples/images/United_States.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/World_Map.png b/samples/images/World_Map.png
deleted file mode 100644
index 884a36d..0000000
--- a/samples/images/World_Map.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/basketball-court1-a.png b/samples/images/basketball-court1-a.png
deleted file mode 100644
index dd3d6bb..0000000
--- a/samples/images/basketball-court1-a.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/basketball.png b/samples/images/basketball.png
deleted file mode 100644
index e8af3fd..0000000
--- a/samples/images/basketball.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/earth.png b/samples/images/earth.png
deleted file mode 100644
index 34d0fde..0000000
--- a/samples/images/earth.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/me.jpg b/samples/images/me.jpg
deleted file mode 100644
index a4bb1f9..0000000
--- a/samples/images/me.jpg
+++ /dev/null
Binary files differ
diff --git a/samples/images/turtle-a.png b/samples/images/turtle-a.png
deleted file mode 100644
index e2c897a..0000000
--- a/samples/images/turtle-a.png
+++ /dev/null
Binary files differ
diff --git a/samples/images/turtle-b.png b/samples/images/turtle-b.png
deleted file mode 100644
index 3b45dd7..0000000
--- a/samples/images/turtle-b.png
+++ /dev/null
Binary files differ
diff --git a/samples/math-Pythagoras.ta b/samples/math-Pythagoras.ta
deleted file mode 100644
index b2349ff..0000000
--- a/samples/math-Pythagoras.ta
+++ /dev/null
@@ -1,155 +0,0 @@
-[[0, "hat", 743, 369, [null, 1, 144]],
-[1, ["string", "draw b"], 801, 381, [0, null]],
-[2, "storeinbox1", 726, 433, [144, 3, 145]],
-[3, ["division2", 0], 844, 433, [2, 4, 6]],
-[4, "box", 898, 433, [3, 5, null]],
-[5, ["string", "side b"], 953, 433, [4, null]],
-[6, ["number", 2], 922, 475, [3, null]],
-[7, "forward", 726, 517, [145, 8, 120]],
-[8, "box1", 797, 517, [7, null]],
-[9, "forward", 726, 601, [120, 10, 126]],
-[10, "box1", 797, 601, [9, null]],
-[11, "hat", 56, 227, [null, 12, 141]],
-[12, ["string", "find h"], 114, 239, [11, null]],
-[13, ["storein", 0], 39, 291, [141, 14, 15, 27]],
-[14, ["string", "hypotenuse"], 107, 291, [13, null]],
-[15, "sqrt", 107, 333, [13, 16]],
-[16, ["plus2", 20.0], 161, 333, [15, 17, 22]],
-[17, ["product2", 0], 215, 333, [16, 18, 20]],
-[18, "box", 269, 333, [17, 19, null]],
-[19, ["string", "side a"], 324, 333, [18, null]],
-[20, "box", 269, 375, [17, 21, null]],
-[21, ["string", "side a"], 324, 375, [20, null]],
-[22, ["product2", 0], 215, 415, [16, 23, 25]],
-[23, "box", 269, 415, [22, 24, null]],
-[24, ["string", "side b"], 324, 415, [23, null]],
-[25, "box", 269, 457, [22, 26, null]],
-[26, ["string", "side b"], 324, 457, [25, null]],
-[27, ["vspace", 40.0], 39, 375, [13, 28]],
-[28, ["storein", 0], 39, 497, [27, 29, 30, 129]],
-[29, ["string", "radius"], 107, 497, [28, null]],
-[30, ["division2", 0], 107, 539, [28, 31, 33]],
-[31, "box", 161, 539, [30, 32, null]],
-[32, ["string", "hypotenuse"], 216, 539, [31, null]],
-[33, ["number", 2], 185, 581, [30, null]],
-[34, "hat", 746, 227, [null, 35, 147]],
-[35, ["string", "draw a"], 804, 239, [34, null]],
-[36, "storeinbox1", 729, 291, [147, 37, 146]],
-[37, ["division2", 0], 847, 291, [36, 38, 40]],
-[38, "box", 901, 291, [37, 39, null]],
-[39, ["string", "side a"], 956, 291, [38, null]],
-[40, ["number", 2], 925, 333, [37, null]],
-[41, "forward", 729, 375, [146, 42, 122]],
-[42, "box1", 800, 375, [41, null]],
-[43, "forward", 729, 459, [122, 44, 127]],
-[44, "box1", 800, 459, [43, null]],
-[45, "hat", 759, 82, [null, 46, 148]],
-[46, ["string", "draw h"], 817, 94, [45, null]],
-[47, ["arc", 0], 742, 146, [148, 48, 49, 51]],
-[48, ["number", 360], 800, 146, [47, null]],
-[49, "box", 800, 188, [47, 50, null]],
-[50, ["string", "radius"], 855, 188, [49, null]],
-[51, "print", 742, 230, [47, 52, 54]],
-[52, "box", 800, 230, [51, 53, null]],
-[53, ["string", "angle"], 855, 230, [52, null]],
-[54, "right", 742, 272, [51, 55, 56]],
-[55, ["number", 90], 800, 272, [54, null]],
-[56, "forward", 742, 314, [54, 57, 124]],
-[57, "box", 813, 314, [56, 58, null]],
-[58, ["string", "radius"], 868, 314, [57, null]],
-[59, "forward", 742, 398, [124, 60, 128]],
-[60, "box", 813, 398, [59, 61, null]],
-[61, ["string", "radius"], 868, 398, [60, null]],
-[62, "hat", 452, 329, [null, 63, 143]],
-[63, ["string", "find a"], 510, 341, [62, null]],
-[64, ["storein", 0], 435, 393, [143, 65, 66, 67]],
-[65, ["string", "angle"], 503, 393, [64, null]],
-[66, ["number", 0], 503, 435, [64, null]],
-[67, "setshade", 435, 477, [64, 68, 69]],
-[68, ["number", 95], 520, 477, [67, null]],
-[69, ["repeat", 315], 435, 519, [67, 70, 71, 131]],
-[70, ["number", 360], 494, 519, [69, null]],
-[71, ["arc", 0], 453, 561, [69, 72, 73, 130]],
-[72, ["number", 180], 511, 561, [71, null]],
-[73, "box", 511, 603, [71, 74, null]],
-[74, ["string", "radius"], 566, 603, [73, null]],
-[75, ["if", 21], 453, 687, [130, 76, 79, 82]],
-[76, ["greater2", 0], 509, 653, [75, 77, 78, null]],
-[77, "ycor", 555, 653, [76, null]],
-[78, ["number", 0], 579, 695, [76, null]],
-[79, "setshade", 471, 753, [75, 80, 81]],
-[80, ["number", 50], 556, 753, [79, null]],
-[81, "stopstack", 471, 795, [79, null]],
-[82, ["vspace", 0], 453, 855, [75, 83]],
-[83, "penup", 453, 897, [82, 84]],
-[84, ["storein", 0], 453, 939, [83, 85, 86, 142]],
-[85, ["string", "angle"], 521, 939, [84, null]],
-[86, ["plus2", 0], 521, 981, [84, 87, 89]],
-[87, "box", 575, 981, [86, 88, null]],
-[88, ["string", "angle"], 630, 981, [87, null]],
-[89, ["number", 1], 575, 1023, [86, null]],
-[90, ["arc", 0], 453, 1065, [142, 91, 92, 94]],
-[91, ["number", 180], 511, 1065, [90, null]],
-[92, "box", 511, 1107, [90, 93, null]],
-[93, ["string", "radius"], 566, 1107, [92, null]],
-[94, "right", 453, 1149, [90, 95, 96]],
-[95, ["number", 1], 511, 1149, [94, null]],
-[96, "pendown", 453, 1191, [94, null]],
-[97, "hideblocks", 988, 139, [140, 98]],
-[98, "clean", 988, 181, [97, 149]],
-[99, ["storein", 0], 988, 431, [150, 100, 101, 102]],
-[100, ["string", "side a"], 1056, 431, [99, null]],
-[101, ["number", 200], 1056, 473, [99, null]],
-[102, ["storein", 0], 988, 515, [99, 103, 104, 105]],
-[103, ["string", "side b"], 1056, 515, [102, null]],
-[104, ["number", 450], 1056, 557, [102, null]],
-[105, "stack", 988, 599, [102, 106, 107]],
-[106, ["string", "draw a"], 1046, 599, [105, null]],
-[107, "right", 988, 641, [105, 108, 109]],
-[108, ["number", 90], 1046, 641, [107, null]],
-[109, "stack", 988, 683, [107, 110, 111]],
-[110, ["string", "draw b"], 1046, 683, [109, null]],
-[111, "stack", 988, 725, [109, 112, 113]],
-[112, ["string", "find h"], 1046, 725, [111, null]],
-[113, "stack", 988, 767, [111, 114, 115]],
-[114, ["string", "find a"], 1046, 767, [113, null]],
-[115, "stack", 988, 809, [113, 116, 151]],
-[116, ["string", "draw h"], 1046, 809, [115, null]],
-[117, ["setxy2", 0], 988, 893, [151, 132, 133, 152]],
-[118, ["journal", "./samples/images/Pythagoras.jpg"], 1098, 1061, [135, null]],
-[119, ["start", 2.0], 970, 59, [null, 140]],
-[120, "show", 726, 559, [7, 121, 9]],
-[121, ["string", "b"], 784, 559, [120, null]],
-[122, "show", 729, 417, [41, 123, 43]],
-[123, ["string", "a"], 787, 417, [122, null]],
-[124, "show", 742, 356, [56, 125, 59]],
-[125, ["string", "h"], 800, 356, [124, null]],
-[126, ["vspace", 1], 726, 643, [9, null]],
-[127, ["vspace", 1], 729, 501, [43, null]],
-[128, ["vspace", 1], 742, 440, [59, null]],
-[129, ["vspace", 1], 39, 581, [28, null]],
-[130, ["vspace", 0], 453, 645, [71, 75]],
-[131, ["vspace", 1], 435, 1251, [69, null]],
-[132, "leftpos", 1046, 893, [117, null]],
-[133, "toppos", 1046, 935, [117, null]],
-[134, ["setxy2", 20], 988, 265, [149, 139, 136, 150]],
-[135, "showaligned", 988, 1061, [153, 118, null]],
-[136, ["number", 0], 1046, 347, [134, null]],
-[137, ["number", -4], 1124, 307, [139, null]],
-[138, "width", 1100, 265, [139, null]],
-[139, ["division2", 0], 1046, 265, [134, 138, 137]],
-[140, ["sandwichclamp", 461], 970, 105, [119, 97, null]],
-[141, "sandwichclampcollapsed", 56, 281, [11, 13, null]],
-[142, ["vspace", 0], 453, 1023, [84, 90]],
-[143, "sandwichclampcollapsed", 452, 383, [62, 64, null]],
-[144, "sandwichclampcollapsed", 743, 423, [0, 2, null]],
-[145, ["vspace", 0], 726, 475, [2, 7]],
-[146, ["vspace", 0], 729, 333, [36, 41]],
-[147, "sandwichclampcollapsed", 746, 281, [34, 36, null]],
-[148, "sandwichclampcollapsed", 759, 136, [45, 47, null]],
-[149, "penup", 988, 223, [98, 134]],
-[150, "pendown", 988, 389, [134, 99]],
-[151, "penup", 988, 851, [115, 117]],
-[152, "pendown", 988, 977, [117, 153]],
-[153, "seth", 988, 1019, [152, 154, 135]],
-[154, ["number", 0], 1046, 1019, [153, null]]]
diff --git a/samples/math-cherlin.ta b/samples/math-cherlin.ta
deleted file mode 100644
index 97345f7..0000000
--- a/samples/math-cherlin.ta
+++ /dev/null
@@ -1,108 +0,0 @@
-[[0, ["repeat", 336], 559, 245, [74, 1, 2, null]],
-[1, ["number", 100], 618, 245, [0, null]],
-[2, "setpensize", 577, 287, [0, 60, 3]],
-[3, "setcolor", 577, 329, [2, 4, 66]],
-[4, ["plus2", 0], 654, 329, [3, 5, 6]],
-[5, "color", 708, 329, [4, null]],
-[6, ["number", 2], 708, 371, [4, null]],
-[7, ["setxy2", 0], 577, 413, [66, 8, 9, 67]],
-[8, ["number", 0], 635, 413, [7, null]],
-[9, ["minus2", 0], 635, 455, [7, 10, 87]],
-[10, ["number", 0], 689, 455, [9, null]],
-[11, "seth", 577, 539, [67, 12, 13]],
-[12, ["number", 270], 635, 539, [11, null]],
-[13, ["arc", 0], 577, 581, [11, 14, 89, 68]],
-[14, ["number", 360], 635, 581, [13, null]],
-[15, ["setxy2", 0], 577, 707, [68, 16, 17, 69]],
-[16, ["number", 400], 635, 707, [15, null]],
-[17, ["minus2", 0], 635, 749, [15, 103, 18]],
-[18, ["number", 200], 713, 791, [17, null]],
-[19, "forward", 577, 833, [69, 20, 80]],
-[20, ["number", 800], 648, 833, [19, null]],
-[21, ["plus2", 0], 645, 959, [105, 101, 22]],
-[22, ["number", 4], 699, 1001, [21, null]],
-[23, ["start", 2.0], 265, 195, [null, 24]],
-[24, "clean", 265, 241, [23, 25]],
-[25, "setpensize", 265, 283, [24, 61, 82]],
-[26, "setcolor", 265, 409, [82, 27, 62]],
-[27, ["number", 0], 342, 409, [26, null]],
-[28, ["setxy2", 0], 265, 493, [62, 29, 30, 63]],
-[29, ["number", 400], 323, 493, [28, null]],
-[30, ["number", -200], 323, 535, [28, null]],
-[31, "seth", 265, 619, [63, 32, 33]],
-[32, ["number", 270], 323, 619, [31, null]],
-[33, "forward", 265, 661, [31, 34, 64]],
-[34, ["number", 800], 336, 661, [33, null]],
-[35, ["setxy2", 0], 265, 745, [64, 36, 37, 65]],
-[36, ["number", 0], 323, 745, [35, null]],
-[37, ["number", 0], 323, 787, [35, null]],
-[38, "forward", 265, 871, [65, 39, 78]],
-[39, ["number", 0], 336, 871, [38, null]],
-[40, "setpensize", 925, 246, [76, 41, 85]],
-[41, ["number", 8], 1027, 246, [40, null]],
-[42, ["product2", 0], 993, 330, [85, 43, 44]],
-[43, ["number", 20], 1047, 330, [42, null]],
-[44, "sqrt", 1047, 372, [42, 45]],
-[45, ["minus2", 0], 1101, 372, [44, 95, 46]],
-[46, ["number", 100], 1179, 414, [45, null]],
-[47, ["setxy2", 0], 925, 456, [107, 97, 48, 71]],
-[48, ["minus2", 0], 983, 498, [47, 91, 49]],
-[49, ["number", 200], 1061, 540, [48, null]],
-[50, "forward", 925, 582, [71, 51, 72]],
-[51, ["identity2", 0], 996, 582, [50, 52]],
-[52, ["number", 0], 1050, 582, [51, null]],
-[53, ["setxy2", 20], 925, 666, [72, 54, 56, 73]],
-[54, ["minus2", 0], 983, 666, [53, 55, 99]],
-[55, ["number", 0], 1037, 666, [54, null]],
-[56, ["minus2", 0], 983, 748, [53, 93, 57]],
-[57, ["number", 200], 1061, 790, [56, null]],
-[58, "forward", 925, 832, [73, 59, null]],
-[59, ["number", 0], 996, 832, [58, null]],
-[60, ["number", 1], 679, 287, [2, null]],
-[61, ["number", 3], 367, 283, [25, null]],
-[62, "penup", 265, 451, [26, 28]],
-[63, "pendown", 265, 577, [28, 31]],
-[64, "penup", 265, 703, [33, 35]],
-[65, "pendown", 265, 829, [35, 38]],
-[66, "penup", 577, 371, [3, 7]],
-[67, "pendown", 577, 497, [7, 11]],
-[68, "penup", 577, 665, [13, 15]],
-[69, "pendown", 577, 791, [15, 19]],
-[70, "penup", 925, 372, [85, 107]],
-[71, "pendown", 925, 540, [47, 50]],
-[72, "penup", 925, 624, [50, 53]],
-[73, "pendown", 925, 790, [53, 58]],
-[74, "hat", 559, 191, [null, 75, 0]],
-[75, ["string", "action"], 617, 203, [74, null]],
-[76, "hat", 925, 192, [null, 77, 40]],
-[77, ["string", "action_2"], 983, 204, [76, null]],
-[78, "stack", 265, 913, [38, 79, null]],
-[79, ["string", "action"], 323, 913, [78, null]],
-[80, "stack", 577, 875, [19, 81, 105]],
-[81, ["string", "action_2"], 635, 875, [80, null]],
-[82, ["storein", 0], 265, 325, [25, 83, 84, 26]],
-[83, ["string", "box 1"], 333, 325, [82, null]],
-[84, ["number", 100], 333, 367, [82, null]],
-[85, ["storein", 0], 925, 288, [40, 86, 42, 70]],
-[86, ["string", "box 2"], 993, 288, [85, null]],
-[87, "box", 713, 497, [9, 88, null]],
-[88, ["string", "box 1"], 768, 497, [87, null]],
-[89, "box", 635, 623, [13, 90, null]],
-[90, ["string", "box 1"], 690, 623, [89, null]],
-[91, "box", 1037, 498, [48, 92, null]],
-[92, ["string", "box 1"], 1092, 498, [91, null]],
-[93, "box", 1037, 748, [56, 94, null]],
-[94, ["string", "box 1"], 1092, 748, [93, null]],
-[95, "box", 1155, 372, [45, 96, null]],
-[96, ["string", "box 1"], 1210, 372, [95, null]],
-[97, "box", 983, 456, [47, 98, null]],
-[98, ["string", "box 2"], 1038, 456, [97, null]],
-[99, "box", 1061, 708, [54, 100, null]],
-[100, ["string", "box 2"], 1116, 708, [99, null]],
-[101, "box", 699, 959, [21, 102, null]],
-[102, ["string", "box 1"], 754, 959, [101, null]],
-[103, "box", 689, 749, [17, 104, null]],
-[104, ["string", "box 1"], 744, 749, [103, null]],
-[105, ["storein", 0], 577, 917, [80, 106, 21, null]],
-[106, ["string", "box 1"], 645, 917, [105, null]],
-[107, ["vspace", 0], 925, 414, [70, 47]]]
diff --git a/samples/math-dice.ta b/samples/math-dice.ta
deleted file mode 100644
index 4e1592a..0000000
--- a/samples/math-dice.ta
+++ /dev/null
@@ -1,108 +0,0 @@
-[[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]]]
diff --git a/samples/math-forster.ta b/samples/math-forster.ta
deleted file mode 100644
index 1df3d97..0000000
--- a/samples/math-forster.ta
+++ /dev/null
@@ -1,88 +0,0 @@
-[[0, ["start", 2.0], 175, 177, [null, 1]],
-[1, ["storein", 0], 175, 223, [0, 2, 3, 9]],
-[2, ["string", "program"], 243, 223, [1, null]],
-[3, ["string", "doit"], 243, 265, [1, null]],
-[4, "stack", 175, 433, [6, 5, null]],
-[5, ["string", "runarray"], 233, 433, [4, null]],
-[6, ["storein", 0], 175, 349, [9, 7, 8, 4]],
-[7, ["string", "program"], 243, 349, [6, null]],
-[8, ["string", "printit"], 243, 391, [6, null]],
-[9, "stack", 175, 307, [1, 10, 6]],
-[10, ["string", "runarray"], 233, 307, [9, null]],
-[11, ["string", "status"], 771, 193, [85, null]],
-[12, "print", 713, 235, [85, 13, null]],
-[13, ["plus2", 0], 771, 235, [12, 16, 14]],
-[14, ["plus2", 0], 825, 277, [13, 17, 15]],
-[15, ["plus2", 0], 879, 319, [14, 21, 19]],
-[16, ["string", "executing "], 825, 235, [13, null]],
-[17, "box", 879, 277, [14, 18, null]],
-[18, ["string", "program"], 934, 277, [17, null]],
-[19, "box", 933, 361, [15, 20, null]],
-[20, ["string", "row"], 988, 361, [19, null]],
-[21, ["string", "row"], 933, 319, [15, null]],
-[22, ["string", "runarray"], 471, 187, [84, null]],
-[23, ["storein", 0], 413, 229, [84, 24, 25, 26]],
-[24, ["string", "row"], 481, 229, [23, null]],
-[25, ["number", 1], 481, 271, [23, null]],
-[26, ["repeat", 301], 413, 313, [23, 27, 29, null]],
-[27, ["number", 10], 472, 313, [26, null]],
-[28, ["vspace", 40], 449, 607, [37, 48]],
-[29, "stack", 431, 355, [26, 30, 31]],
-[30, ["string", "status"], 489, 355, [29, null]],
-[31, ["storein", 0], 431, 397, [29, 32, 33, 34]],
-[32, ["string", "column"], 499, 397, [31, null]],
-[33, ["number", 1], 499, 439, [31, null]],
-[34, ["repeat", 145], 431, 481, [31, 35, 37, 36]],
-[35, ["number", 10], 490, 481, [34, null]],
-[36, ["vspace", 0], 431, 873, [34, 57]],
-[37, ["storein", 0], 449, 523, [34, 38, 39, 28]],
-[38, ["string", "index"], 517, 523, [37, null]],
-[39, ["plus2", 0], 517, 565, [37, 42, 40]],
-[40, ["plus2", 0], 571, 607, [39, 43, 41]],
-[41, ["plus2", 0], 625, 649, [40, 45, 46]],
-[42, ["string", "r:"], 571, 565, [39, null]],
-[43, "box", 625, 607, [40, 44, null]],
-[44, ["string", "row"], 680, 607, [43, null]],
-[45, ["string", " c:"], 679, 649, [41, null]],
-[46, "box", 679, 691, [41, 47, null]],
-[47, ["string", "column"], 734, 691, [46, null]],
-[48, "stack", 449, 729, [28, 49, 51]],
-[49, "box", 507, 729, [48, 50, null]],
-[50, ["string", "program"], 562, 729, [49, null]],
-[51, ["storein", 0], 449, 771, [48, 52, 54, null]],
-[52, ["string", "column"], 517, 771, [51, null]],
-[53, ["number", 1], 571, 855, [54, null]],
-[54, ["plus2", 0], 517, 813, [51, 55, 53]],
-[55, "box", 571, 813, [54, 56, null]],
-[56, ["string", "column"], 626, 813, [55, null]],
-[57, ["storein", 0], 431, 915, [36, 58, 60, null]],
-[58, ["string", "row"], 499, 915, [57, null]],
-[59, ["number", 1], 553, 999, [60, null]],
-[60, ["plus2", 0], 499, 957, [57, 61, 59]],
-[61, "box", 553, 957, [60, 62, null]],
-[62, ["string", "row"], 608, 957, [61, null]],
-[63, ["string", "doit"], 783, 413, [86, null]],
-[64, ["storein", 0], 725, 455, [86, 66, 65, null]],
-[65, ["product2", 0], 793, 497, [64, 68, 70]],
-[66, "box", 793, 455, [64, 67, null]],
-[67, ["string", "index"], 848, 455, [66, null]],
-[68, "box", 847, 497, [65, 69, null]],
-[69, ["string", "row"], 902, 497, [68, null]],
-[70, "box", 847, 539, [65, 71, null]],
-[71, ["string", "column"], 902, 539, [70, null]],
-[72, ["string", "printit"], 237, 525, [87, null]],
-[73, "print", 179, 567, [87, 77, 75]],
-[74, "print", 179, 651, [75, 79, 82]],
-[75, "wait", 179, 609, [73, 76, 74]],
-[76, ["number", 0], 237, 609, [75, null]],
-[77, "box", 237, 567, [73, 78, null]],
-[78, ["string", "index"], 292, 567, [77, null]],
-[79, "box", 237, 651, [74, 80, null]],
-[80, "box", 292, 651, [79, 81, null]],
-[81, ["string", "index"], 347, 651, [80, null]],
-[82, "wait", 179, 693, [74, 83, null]],
-[83, ["number", 0], 237, 693, [82, null]],
-[84, "hat", 413, 175, [null, 22, 23]],
-[85, "hat", 713, 181, [null, 11, 12]],
-[86, "hat", 725, 401, [null, 63, 64]],
-[87, "hat", 179, 513, [null, 72, 73]]]
diff --git a/samples/math-fractions.ta b/samples/math-fractions.ta
deleted file mode 100644
index 5578f5c..0000000
--- a/samples/math-fractions.ta
+++ /dev/null
@@ -1,119 +0,0 @@
-[[0, ["start", 2.0], 19, 117, [null, 1]],
-[1, ["storein", 0], 19, 159, [0, 2, 3, 4]],
-[2, ["string", "denom"], 115, 159, [1, null]],
-[3, ["number", 7.0], 115, 201, [1, null]],
-[4, ["storein", 0], 19, 243, [1, 5, 6, 7]],
-[5, ["string", "num"], 115, 243, [4, null]],
-[6, ["number", 3], 115, 285, [4, null]],
-[7, "stack", 19, 327, [4, 8, 80]],
-[8, ["string", "setup"], 80, 327, [7, null]],
-[9, "hat", 671, 501, [null, 10, 11]],
-[10, ["string", "setup"], 732, 509, [9, null]],
-[11, "clean", 671, 551, [9, 110]],
-[12, "hat", 305, 540, [null, 13, 117]],
-[13, ["string", "print"], 366, 548, [12, null]],
-[14, "penup", 305, 632, [117, 98]],
-[15, "show", 305, 800, [97, 17, null]],
-[16, ["string", " / "], 484, 842, [18, null]],
-[17, ["plus2", 0], 376, 800, [15, 19, 18]],
-[18, ["plus2", 0], 430, 842, [17, 16, 21]],
-[19, "box", 430, 800, [17, 20, null]],
-[20, ["string", "num"], 489, 800, [19, null]],
-[21, "box", 484, 884, [18, 22, null]],
-[22, ["string", "denom"], 543, 884, [21, null]],
-[23, "startfill", 677, 184, [64, 68]],
-[24, "stopfill", 677, 268, [68, 58]],
-[25, "hat", 1040, 4, [null, 26, 27]],
-[26, ["string", "slice"], 1101, 12, [25, null]],
-[27, "forward", 1040, 54, [25, 31, 33]],
-[28, ["storein", 0], 671, 719, [94, 29, 30, null]],
-[29, ["string", "radius"], 767, 719, [28, null]],
-[30, ["number", 200.0], 767, 761, [28, null]],
-[31, "box", 1120, 54, [27, 32, null]],
-[32, ["string", "radius"], 1179, 54, [31, null]],
-[33, "right", 1040, 96, [27, 34, 115]],
-[34, ["number", 90], 1114, 96, [33, null]],
-[35, "repeat", 1040, 180, [115, 45, 107, 37]],
-[36, ["number", 3600.0], 1199, 180, [38, null]],
-[37, ["vspace", 100], 1040, 258, [35, 46]],
-[38, ["division2", 0], 1145, 180, [45, 36, 39]],
-[39, "box", 1223, 222, [38, 40, null]],
-[40, ["string", "denom"], 1282, 222, [39, null]],
-[41, "forward", 1105, 324, [108, 51, 106]],
-[42, ["number", 3600.0], 1263, 406, [51, null]],
-[43, "right", 1105, 448, [106, 44, null]],
-[44, ["number", 0.1], 1179, 448, [43, null]],
-[45, ["identity2", 0], 1091, 180, [35, 38]],
-[46, "right", 1040, 500, [37, 47, 48]],
-[47, ["number", 90], 1114, 500, [46, null]],
-[48, "forward", 1040, 542, [46, 49, 56]],
-[49, "box", 1120, 542, [48, 50, null]],
-[50, ["string", "radius"], 1179, 542, [49, null]],
-[51, ["division2", 20], 1185, 324, [41, 54, 42]],
-[52, "box", 1293, 324, [54, 53, null]],
-[53, ["string", "radius"], 1352, 324, [52, null]],
-[54, ["product2", 0], 1239, 324, [51, 52, 55]],
-[55, ["number", 6.283], 1293, 366, [54, null]],
-[56, "right", 1040, 584, [48, 57, null]],
-[57, ["number", 180.0], 1114, 584, [56, null]],
-[58, "left", 677, 310, [24, 60, 63]],
-[59, ["number", 360.0], 813, 310, [60, null]],
-[60, ["division2", 0], 759, 310, [58, 59, 61]],
-[61, "box", 837, 352, [60, 62, null]],
-[62, ["string", "denom"], 896, 352, [61, null]],
-[63, ["vspace", 0], 677, 352, [58, 66]],
-[64, "setgray", 677, 142, [112, 65, 23]],
-[65, ["number", 100.0], 803, 142, [64, null]],
-[66, "setgray", 677, 394, [63, 67, 70]],
-[67, ["number", 0.0], 803, 394, [66, null]],
-[68, "stack", 677, 226, [23, 69, 24]],
-[69, ["string", "slice"], 738, 226, [68, null]],
-[70, "stack", 677, 436, [66, 71, null]],
-[71, ["string", "slice"], 738, 436, [70, null]],
-[72, "hat", 677, 8, [null, 73, 112]],
-[73, ["string", "fancy slice"], 738, 16, [72, null]],
-[74, "repeat", 19, 613, [78, 84, 90, 105]],
-[75, ["vspace", 20], 19, 489, [76, 78]],
-[76, "repeat", 19, 411, [80, 89, 77, 75]],
-[77, ["vspace", 0], 84, 471, [76, 92]],
-[78, "setcolor", 19, 571, [75, 79, 74]],
-[79, "red", 104, 571, [78, null]],
-[80, "setcolor", 19, 369, [7, 81, 76]],
-[81, "blue", 104, 369, [80, null]],
-[82, "box", 202, 453, [88, 83, null]],
-[83, ["string", "num"], 261, 453, [82, null]],
-[84, "box", 70, 613, [74, 85, null]],
-[85, ["string", "num"], 129, 613, [84, null]],
-[86, "box", 178, 411, [88, 87, null]],
-[87, ["string", "denom"], 237, 411, [86, null]],
-[88, ["minus2", 0], 124, 411, [89, 86, 82]],
-[89, ["identity2", 0], 70, 411, [76, 88]],
-[90, "stack", 84, 673, [74, 91, null]],
-[91, ["string", "fancy slice"], 145, 673, [90, null]],
-[92, "stack", 84, 513, [77, 93, null]],
-[93, ["string", "fancy slice"], 145, 513, [92, null]],
-[94, ["fillscreen", 0], 671, 635, [110, 96, 95, 28]],
-[95, ["number", 80], 810, 677, [94, null]],
-[96, "white", 810, 635, [94, null]],
-[97, "pendown", 305, 758, [98, 15]],
-[98, ["setxy2", 0], 305, 674, [14, 99, 101, 97]],
-[99, "box", 369, 674, [98, 100, null]],
-[100, ["string", "radius"], 428, 674, [99, null]],
-[101, "box", 369, 716, [98, 102, null]],
-[102, ["string", "radius"], 428, 716, [101, null]],
-[103, "stack", 19, 733, [105, 104, null]],
-[104, ["string", "print"], 80, 733, [103, null]],
-[105, ["vspace", 0], 19, 691, [74, 103]],
-[106, ["vspace", 20], 1105, 366, [41, 43]],
-[107, ["vspace", 0], 1105, 240, [35, 108]],
-[108, "comment", 1105, 282, [107, 109, 41]],
-[109, ["string", "circumfrence/360"], 1191, 282, [108, null]],
-[110, "setpensize", 671, 593, [11, 111, 94]],
-[111, ["number", 5.0], 779, 593, [110, null]],
-[112, ["setxy2", 0], 677, 58, [72, 113, 114, 64]],
-[113, ["number", 0], 741, 58, [112, null]],
-[114, ["number", 0], 741, 100, [112, null]],
-[115, "comment", 1040, 138, [33, 116, 35]],
-[116, ["string", "higher precision"], 1126, 138, [115, null]],
-[117, "setscale", 305, 590, [12, 118, 14]],
-[118, ["number", 100.0], 402, 590, [117, null]]]
diff --git a/samples/math-galton-path.ta b/samples/math-galton-path.ta
deleted file mode 100644
index 7985518..0000000
--- a/samples/math-galton-path.ta
+++ /dev/null
@@ -1,63 +0,0 @@
-[[0, ["start", 1.5], 26, 176, [null, 24]],
-[1, ["setxy2", 0], 502, 244, [4, 2, 3, 10]],
-[2, ["number", 0], 546, 244, [1, null]],
-[3, "toppos", 546, 276, [1, null]],
-[4, "penup", 502, 212, [54, 1]],
-[5, ["repeat", 101], 502, 339, [10, 6, 7, 62]],
-[6, ["number", 70], 551, 339, [5, null]],
-[7, ["setxy2", 80], 516, 371, [5, 15, 13, null]],
-[8, ["number", -0.5], 683, 435, [20, null]],
-[9, ["number", -10], 601, 555, [13, null]],
-[10, "pendown", 502, 307, [1, 5]],
-[11, "setpensize", 26, 243, [24, 12, 46]],
-[12, ["number", 1], 108, 243, [11, null]],
-[13, ["plus2", 0], 560, 523, [7, 14, 9]],
-[14, "ycor", 601, 523, [13, null]],
-[15, ["plus2", 0], 560, 371, [7, 16, 21]],
-[16, "xcor", 601, 371, [15, null]],
-[17, ["random", 0], 683, 467, [20, 18, 19, null]],
-[18, ["number", 0], 750, 467, [17, null]],
-[19, ["number", 1], 750, 499, [17, null]],
-[20, ["plus2", 0], 642, 435, [21, 8, 17]],
-[21, ["product2", 0], 601, 403, [15, 22, 20]],
-[22, ["number", 20], 642, 403, [21, null]],
-[23, ["forever", 0], 26, 603, [47, 56, null]],
-[24, "clean", 26, 211, [0, 11]],
-[25, ["number", -400], 70, 307, [44, null]],
-[26, ["repeat", 83], 26, 370, [44, 27, 28, 47]],
-[27, ["number", 80], 75, 370, [26, null]],
-[28, ["storein", 0], 40, 402, [26, 49, 29, 50]],
-[29, ["number", 0], 95, 434, [28, null]],
-[30, ["storein", 0], 243, 219, [58, 37, 32, 35]],
-[31, "box", 339, 251, [32, 38, null]],
-[32, ["plus2", 0], 298, 251, [30, 31, 33]],
-[33, ["number", 1], 339, 283, [32, null]],
-[34, "forward", 243, 346, [40, 36, 42]],
-[35, ["vspace", 0], 243, 282, [30, 40]],
-[36, "box", 297, 346, [34, 39, null]],
-[37, "xcor", 298, 219, [30, null]],
-[38, "xcor", 380, 251, [31, null]],
-[39, "xcor", 338, 346, [36, null]],
-[40, "setpensize", 243, 314, [35, 41, 34]],
-[41, ["number", 18], 325, 314, [40, null]],
-[42, "setpensize", 243, 378, [34, 43, null]],
-[43, ["number", 1], 325, 378, [42, null]],
-[44, ["setxy2", 0], 26, 307, [46, 25, 45, 26]],
-[45, ["number", 0], 70, 339, [44, null]],
-[46, "penup", 26, 275, [11, 44]],
-[47, "pendown", 26, 571, [26, 23]],
-[48, ["number", 10], 125, 497, [53, null]],
-[49, "xcor", 95, 402, [28, null]],
-[50, ["setxy2", 20], 40, 465, [28, 53, 51, null]],
-[51, ["number", 0], 84, 527, [50, null]],
-[52, "xcor", 125, 465, [53, null]],
-[53, ["plus2", 0], 84, 465, [50, 52, 48]],
-[54, "hat", 502, 171, [null, 55, 4]],
-[55, ["string", "action"], 548, 180, [54, null]],
-[56, "stack", 40, 629, [23, 57, null]],
-[57, ["string", "action"], 86, 629, [56, null]],
-[58, "hat", 243, 178, [null, 59, 30]],
-[59, ["string", "action_2"], 289, 187, [58, null]],
-[60, "stack", 502, 599, [62, 61, null]],
-[61, ["string", "action_2"], 548, 599, [60, null]],
-[62, ["vspace", 0], 502, 567, [5, 60]]]
diff --git a/samples/math-geometry.ta b/samples/math-geometry.ta
deleted file mode 100644
index 57532a9..0000000
--- a/samples/math-geometry.ta
+++ /dev/null
@@ -1,73 +0,0 @@
-[[0, ["start", 2.0], 788, 178, [null, 40]],
-[1, "forward", 437, 523, [6, 2, 3]],
-[2, ["number", 100], 508, 523, [1, null]],
-[3, "right", 437, 565, [1, 5, null]],
-[4, ["number", 360], 549, 565, [5, null]],
-[5, ["division2", 0], 495, 565, [3, 4, 65]],
-[6, ["repeat", 21], 419, 481, [28, 63, 1, null]],
-[7, ["repeat", 168], 29, 324, [46, 8, 16, null]],
-[8, ["number", 10], 88, 324, [7, null]],
-[9, "startfill", 47, 450, [11, 30]],
-[10, "stopfill", 47, 534, [30, 18]],
-[11, "setgray", 47, 408, [16, 13, 9]],
-[12, ["number", 300], 174, 408, [13, null]],
-[13, ["division2", 0], 120, 408, [11, 12, 55]],
-[14, ["number", 1], 193, 744, [15, null]],
-[15, ["minus2", 0], 115, 702, [53, 57, 14]],
-[16, "setcolor", 47, 366, [7, 17, 11]],
-[17, ["number", 0], 124, 366, [16, null]],
-[18, "setcolor", 47, 576, [10, 19, 32]],
-[19, "black", 124, 576, [18, null]],
-[20, ["repeat", 21], 418, 240, [26, 59, 21, null]],
-[21, "forward", 436, 282, [20, 22, 25]],
-[22, ["number", 100], 507, 282, [21, null]],
-[23, ["division2", 0], 494, 324, [25, 24, 61]],
-[24, ["number", 360], 548, 324, [23, null]],
-[25, "left", 436, 324, [21, 23, null]],
-[26, "hat", 418, 186, [null, 27, 20]],
-[27, ["number", 2], 476, 198, [26, null]],
-[28, "hat", 419, 427, [null, 29, 6]],
-[29, ["number", 1], 477, 439, [28, null]],
-[30, "stack", 47, 492, [9, 67, 10]],
-[31, ["number", 1.0], 856, 392, [49, null]],
-[32, "stack", 47, 618, [18, 71, 53]],
-[33, ["repeat", 42], 788, 434, [49, 34, 44, null]],
-[34, ["number", 2], 847, 434, [33, null]],
-[35, ["number", 1], 928, 602, [36, null]],
-[36, ["plus2", 0], 874, 560, [51, 69, 35]],
-[37, ["fillscreen", 0], 788, 266, [40, 38, 39, 49]],
-[38, ["number", 60], 870, 266, [37, null]],
-[39, ["number", 80], 870, 308, [37, null]],
-[40, "setgray", 788, 224, [0, 41, 37]],
-[41, ["number", 50], 861, 224, [40, null]],
-[42, "hat", 29, 186, [null, 43, 46]],
-[43, ["string", "action"], 87, 198, [42, null]],
-[44, "stack", 806, 476, [33, 45, 51]],
-[45, ["string", "action"], 864, 476, [44, null]],
-[46, ["storein", 0], 29, 240, [42, 47, 48, 7]],
-[47, ["string", "box 1"], 97, 240, [46, null]],
-[48, ["number", 12.0], 97, 282, [46, null]],
-[49, ["storein", 0], 788, 350, [37, 50, 31, 33]],
-[50, ["string", "box 2"], 856, 350, [49, null]],
-[51, ["storein", 0], 806, 518, [44, 52, 36, null]],
-[52, ["string", "box 2"], 874, 518, [51, null]],
-[53, ["storein", 0], 47, 660, [32, 54, 15, null]],
-[54, ["string", "box 1"], 115, 660, [53, null]],
-[55, "box", 198, 450, [13, 56, null]],
-[56, ["string", "box 1"], 253, 450, [55, null]],
-[57, "box", 169, 702, [15, 58, null]],
-[58, ["string", "box 1"], 224, 702, [57, null]],
-[59, "box", 477, 240, [20, 60, null]],
-[60, ["string", "box 1"], 532, 240, [59, null]],
-[61, "box", 572, 366, [23, 62, null]],
-[62, ["string", "box 1"], 627, 366, [61, null]],
-[63, "box", 478, 481, [6, 64, null]],
-[64, ["string", "box 1"], 533, 481, [63, null]],
-[65, "box", 573, 607, [5, 66, null]],
-[66, ["string", "box 1"], 628, 607, [65, null]],
-[67, "box", 105, 492, [30, 68, null]],
-[68, ["string", "box 2"], 160, 492, [67, null]],
-[69, "box", 928, 560, [36, 70, null]],
-[70, ["string", "box 2"], 983, 560, [69, null]],
-[71, "box", 105, 618, [32, 72, null]],
-[72, ["string", "box 2"], 160, 618, [71, null]]]
diff --git a/samples/math-heart-animation.tb b/samples/math-heart-animation.tb
deleted file mode 100644
index 07117c9..0000000
--- a/samples/math-heart-animation.tb
+++ /dev/null
@@ -1,84 +0,0 @@
-[[0, ["start", 2.0], 660, 160, [null, 83]],
-[1, ["setxy2", 0], 380, 214, [52, 44, 45, 10]],
-[2, "penup", 660, 248, [83, 49]],
-[3, "pendown", 40, 256, [39, null]],
-[4, "penup", 416, 592, [5, 82]],
-[5, "forward", 416, 550, [27, 81, 4]],
-[6, ["repeat", 105], 398, 382, [57, 58, 61, 7]],
-[7, ["setxy2", 20], 398, 694, [6, 9, 48, null]],
-[8, "xcor", 510, 694, [9, null]],
-[9, ["plus2", 0], 456, 694, [7, 8, 62]],
-[10, ["repeat", 218], 380, 298, [1, 54, 57, null]],
-[11, ["storein", 0], 40, 626, [38, 12, 19, null]],
-[12, ["string", "result"], 107, 626, [11, null]],
-[13, "hat", 40, 320, [null, 14, 29]],
-[14, ["string", "calculate"], 98, 332, [13, null]],
-[15, "stack", 416, 466, [61, 16, 27]],
-[16, ["string", "calculate"], 474, 466, [15, null]],
-[17, "xcor", 177, 416, [21, null]],
-[18, "ycor", 177, 542, [23, null]],
-[19, ["myfunc2arg", 0], 107, 668, [11, 20, 31, 35, null]],
-[20, ["string", "x**2 + (y - (x**2)**(1/3.))**2"], 187, 668, [19, null]],
-[21, ["division2", 0], 107, 416, [29, 17, 22]],
-[22, ["number", 100], 201, 458, [21, null]],
-[23, ["division2", 0], 107, 542, [33, 18, 24]],
-[24, ["number", 100], 201, 584, [23, null]],
-[25, "hat", 40, 160, [null, 26, 39]],
-[26, ["string", "test"], 98, 172, [25, null]],
-[27, "stack", 416, 508, [15, 28, 5]],
-[28, ["string", "test"], 474, 508, [27, null]],
-[29, ["storein", 0], 40, 374, [13, 30, 21, 37]],
-[30, ["string", "x"], 107, 374, [29, null]],
-[31, "box", 187, 710, [19, 32, null]],
-[32, ["string", "x"], 241, 710, [31, null]],
-[33, ["storein", 0], 40, 500, [37, 34, 23, 38]],
-[34, ["string", "y"], 107, 500, [33, null]],
-[35, "box", 187, 752, [19, 36, null]],
-[36, ["string", "y"], 241, 752, [35, null]],
-[37, ["vspace", 0], 40, 458, [29, 33]],
-[38, ["vspace", 0], 40, 584, [33, 11]],
-[39, "setcolor", 40, 214, [25, 41, 3]],
-[40, ["number", 100.0], 171, 256, [41, null]],
-[41, ["product2", 0], 117, 214, [39, 42, 40]],
-[42, "box", 171, 214, [41, 43, null]],
-[43, ["string", "result"], 225, 214, [42, null]],
-[44, "leftpos", 438, 214, [1, null]],
-[45, "bottompos", 438, 256, [1, null]],
-[46, "width", 508, 298, [54, null]],
-[47, "height", 526, 382, [58, null]],
-[48, "bottompos", 456, 776, [7, null]],
-[49, ["storein", 0], 660, 290, [2, 50, 51, 66]],
-[50, ["string", "scale"], 727, 290, [49, null]],
-[51, ["number", 105.0], 727, 332, [49, null]],
-[52, "hat", 380, 160, [null, 53, 1]],
-[53, ["string", "heart"], 438, 172, [52, null]],
-[54, ["division2", 0], 438, 298, [10, 46, 55]],
-[55, "box", 532, 340, [54, 56, null]],
-[56, ["string", "scale"], 586, 340, [55, null]],
-[57, ["vspace", 0], 398, 340, [10, 6]],
-[58, ["division2", 0], 456, 382, [6, 47, 59]],
-[59, "box", 550, 424, [58, 60, null]],
-[60, ["string", "scale"], 604, 424, [59, null]],
-[61, ["vspace", 0], 416, 424, [6, 15]],
-[62, "box", 510, 736, [9, 63, null]],
-[63, ["string", "scale"], 564, 736, [62, null]],
-[64, "stack", 678, 458, [74, 65, 68]],
-[65, ["string", "heart"], 736, 458, [64, null]],
-[66, ["repeat", 63], 660, 374, [49, 67, 74, null]],
-[67, ["number", 11.0], 718, 374, [66, null]],
-[68, ["storein", 0], 678, 500, [64, 69, 73, null]],
-[69, ["string", "scale"], 745, 500, [68, null]],
-[70, ["number", 10.0], 842, 584, [73, null]],
-[71, "box", 818, 542, [73, 72, null]],
-[72, ["string", "scale"], 872, 542, [71, null]],
-[73, ["minus2", 0], 745, 542, [68, 71, 70]],
-[74, "setpensize", 678, 416, [66, 75, 64]],
-[75, "box", 780, 416, [74, 76, null]],
-[76, ["string", "scale"], 834, 416, [75, null]],
-[77, ["minus2", 0], 486, 634, [82, 79, 78]],
-[78, ["number", 1.0], 583, 676, [77, null]],
-[79, "box", 559, 634, [77, 80, null]],
-[80, ["string", "scale"], 613, 634, [79, null]],
-[81, ["number", 1.0], 486, 550, [5, null]],
-[82, "forward", 416, 634, [4, 77, null]],
-[83, "clean", 660, 206, [0, 2]]]
diff --git a/samples/math-heart.tb b/samples/math-heart.tb
deleted file mode 100644
index c62efb8..0000000
--- a/samples/math-heart.tb
+++ /dev/null
@@ -1,57 +0,0 @@
-[[0, ["start", 2.0], 640, 77, [null, 4]],
-[1, ["setxy2", 0], 640, 165, [4, 2, 3, 17]],
-[2, ["number", -105.0], 698, 165, [1, null]],
-[3, ["number", -100.0], 698, 207, [1, null]],
-[4, "penup", 640, 123, [0, 1]],
-[5, ["if", 0], 9, 360, [30, 21, 6, null]],
-[6, "pendown", 27, 426, [5, null]],
-[7, "penup", 676, 459, [8, null]],
-[8, "forward", 676, 417, [45, 9, 7]],
-[9, ["number", 1.0], 746, 417, [8, null]],
-[10, ["repeat", 63], 658, 291, [17, 11, 33, 12]],
-[11, ["number", 240.0], 716, 291, [10, null]],
-[12, ["setxy2", 20], 658, 519, [10, 16, 14, null]],
-[13, "xcor", 770, 519, [16, null]],
-[14, ["number", -100], 716, 601, [12, null]],
-[15, ["number", 1.0], 770, 561, [16, null]],
-[16, ["plus2", 0], 716, 519, [12, 13, 15]],
-[17, ["repeat", 155], 640, 249, [1, 18, 10, null]],
-[18, ["number", 210.0], 698, 249, [17, null]],
-[19, ["less2", 0], 121, 236, [21, 24, 28, null]],
-[20, ["greater2", 0], 121, 318, [21, 26, 29, null]],
-[21, ["and2", 0], 65, 278, [5, 19, 20]],
-[22, ["storein", 0], 143, 723, [56, 23, 37, null]],
-[23, ["string", "result"], 210, 723, [22, null]],
-[24, "box", 177, 236, [19, 25, null]],
-[25, ["string", "result"], 231, 236, [24, null]],
-[26, "box", 177, 318, [20, 27, null]],
-[27, ["string", "result"], 231, 318, [26, null]],
-[28, ["number", 1.1], 201, 278, [19, null]],
-[29, ["number", 0.9], 201, 360, [20, null]],
-[30, ["vspace", 40], 9, 238, [43, 5]],
-[31, "hat", 143, 417, [null, 32, 47]],
-[32, ["string", "calculate"], 201, 429, [31, null]],
-[33, "stack", 676, 333, [10, 34, 45]],
-[34, ["string", "calculate"], 734, 333, [33, null]],
-[35, "xcor", 280, 513, [39, null]],
-[36, "ycor", 280, 639, [41, null]],
-[37, ["myfunc2arg", 0], 210, 765, [22, 38, 49, 53, null]],
-[38, ["string", "x**2 + (y - (x**2)**(1/3.))**2"], 290, 765, [37, null]],
-[39, ["division2", 0], 210, 513, [47, 35, 40]],
-[40, ["number", 100], 304, 555, [39, null]],
-[41, ["division2", 0], 210, 639, [51, 36, 42]],
-[42, ["number", 85.0], 304, 681, [41, null]],
-[43, "hat", 9, 184, [null, 44, 30]],
-[44, ["string", "test"], 67, 196, [43, null]],
-[45, "stack", 676, 375, [33, 46, 8]],
-[46, ["string", "test"], 734, 375, [45, null]],
-[47, ["storein", 0], 143, 471, [31, 48, 39, 55]],
-[48, ["string", "x"], 210, 471, [47, null]],
-[49, "box", 290, 807, [37, 50, null]],
-[50, ["string", "x"], 344, 807, [49, null]],
-[51, ["storein", 0], 143, 597, [55, 52, 41, 56]],
-[52, ["string", "y"], 210, 597, [51, null]],
-[53, "box", 290, 849, [37, 54, null]],
-[54, ["string", "y"], 344, 849, [53, null]],
-[55, ["vspace", 0], 143, 555, [47, 51]],
-[56, ["vspace", 0], 143, 681, [51, 22]]]
diff --git a/samples/math-numeros.ta b/samples/math-numeros.ta
deleted file mode 100644
index 98f5230..0000000
--- a/samples/math-numeros.ta
+++ /dev/null
@@ -1,68 +0,0 @@
-[[0, ["start", 2.0], 48, 190, [null, 30]],
-[1, ["until", 21], 325, 284, [8, 2, 5, null]],
-[2, ["greater2", 0], 381, 250, [1, 3, 4, null]],
-[3, "keyboard", 427, 250, [2, null]],
-[4, ["number", 0], 451, 292, [2, null]],
-[5, "wait", 343, 350, [1, 6, 7]],
-[6, ["number", 0.1], 401, 350, [5, null]],
-[7, "kbinput", 343, 392, [5, null]],
-[8, ["vspace", 0], 325, 242, [35, 1]],
-[9, ["forever", 312], 48, 362, [43, 39, null]],
-[10, ["equal2", 0], 122, 446, [13, 12, 11, null]],
-[11, ["number", 32], 168, 488, [10, null]],
-[12, "keyboard", 168, 446, [10, null]],
-[13, ["ifelse", [198, 0]],
-66, 480, [14, 10, 25, 41, null]],
-[14, ["vspace", 0], 66, 438, [39, 13]],
-[15, ["number", 10], 615, 779, [16, null]],
-[16, ["product2", 0], 561, 779, [17, 15, 48]],
-[17, ["plus2", 0], 507, 737, [46, 34, 16]],
-[18, ["less2", 0], 140, 554, [24, 53, 19, null]],
-[19, ["number", 11], 210, 596, [18, null]],
-[20, "setcolor", 102, 654, [24, 21, null]],
-[21, "red", 179, 654, [20, null]],
-[22, "setcolor", 102, 714, [24, 23, null]],
-[23, "blue", 179, 714, [22, null]],
-[24, ["ifelse", [0, 0]],
-84, 588, [25, 18, 20, 22, 27]],
-[25, ["vspace", 0], 84, 546, [13, 24]],
-[26, "show", 84, 858, [27, 55, 50]],
-[27, ["fillscreen", 0], 84, 774, [24, 28, 29, 26]],
-[28, ["number", 60], 166, 774, [27, null]],
-[29, ["number", 80], 166, 816, [27, null]],
-[30, "setscale", 48, 236, [0, 31, 43]],
-[31, ["number", 330], 125, 236, [30, null]],
-[32, "keyboard", 669, 737, [33, null]],
-[33, "chr", 615, 737, [34, 32]],
-[34, "int", 561, 737, [17, 33]],
-[35, "hat", 325, 188, [null, 36, 8]],
-[36, ["string", "action"], 383, 200, [35, null]],
-[37, "hat", 421, 453, [null, 38, 61]],
-[38, ["string", "action_2"], 479, 465, [37, null]],
-[39, "stack", 66, 396, [9, 40, 14]],
-[40, ["string", "action"], 124, 396, [39, null]],
-[41, "stack", 84, 1002, [13, 42, null]],
-[42, ["string", "action_2"], 142, 1002, [41, null]],
-[43, ["storein", 0], 48, 278, [30, 44, 45, 9]],
-[44, ["string", "box"], 116, 278, [43, null]],
-[45, ["number", 0.0], 116, 320, [43, null]],
-[46, ["storein", 0], 439, 695, [57, 47, 17, null]],
-[47, ["string", "box"], 507, 695, [46, null]],
-[48, "box", 615, 821, [16, 49, null]],
-[49, ["string", "box"], 670, 821, [48, null]],
-[50, ["storein", 0], 84, 900, [26, 51, 52, null]],
-[51, ["string", "box"], 152, 900, [50, null]],
-[52, ["number", 0.0], 152, 942, [50, null]],
-[53, "box", 186, 554, [18, 54, null]],
-[54, ["string", "box"], 241, 554, [53, null]],
-[55, "box", 142, 858, [26, 56, null]],
-[56, ["string", "box"], 197, 858, [55, null]],
-[57, ["if", 21], 421, 629, [61, 59, 46, null]],
-[58, ["less2", 0], 523, 587, [59, 63, 65, null]],
-[59, ["and2", 0], 477, 547, [57, 60, 58]],
-[60, ["greater2", 0], 523, 505, [59, 62, 64, null]],
-[61, ["vspace", 40], 421, 507, [37, 57]],
-[62, "keyboard", 569, 505, [60, null]],
-[63, "keyboard", 569, 587, [58, null]],
-[64, ["number", 47.0], 593, 547, [60, null]],
-[65, ["number", 58.0], 593, 629, [58, null]]]
diff --git a/samples/math-prime-factors.ta b/samples/math-prime-factors.ta
deleted file mode 100644
index 0e663d8..0000000
--- a/samples/math-prime-factors.ta
+++ /dev/null
@@ -1,476 +0,0 @@
-[[0, ["start", 2.0], 120, 180, [null, 469]],
-[1, ["while", 0], 258, 556, [4, 5, 11, 151]],
-[2, ["storein", 0], 139, 714, [261, 3, 268, 272]],
-[3, ["string", "n"], 206, 714, [2, null]],
-[4, ["vspace", 0], 258, 514, [149, 1]],
-[5, ["greater2", 0], 314, 522, [1, 6, 8, null]],
-[6, "box", 360, 522, [5, 7, null]],
-[7, ["string", "n"], 414, 522, [6, null]],
-[8, ["number", 1], 384, 564, [5, null]],
-[9, "hat", 340, 180, [null, 10, 85]],
-[10, ["string", "get next prime factor"], 398, 192, [9, null]],
-[11, "stack", 276, 622, [1, 12, null]],
-[12, ["string", "get next prime factor"], 334, 622, [11, null]],
-[13, "box", 510, 1034, [87, 14, null]],
-[14, ["string", "factor"], 564, 1034, [13, null]],
-[15, "box", 564, 1118, [19, 16, null]],
-[16, ["string", "n"], 618, 1118, [15, null]],
-[17, ["storein", 0], 443, 1076, [87, 18, 19, null]],
-[18, ["string", "n"], 510, 1076, [17, null]],
-[19, ["division2", 0], 510, 1118, [17, 15, 20]],
-[20, "box", 588, 1160, [19, 21, null]],
-[21, ["string", "factor"], 642, 1160, [20, null]],
-[22, ["storein", 0], 341, 310, [141, 23, 24, null]],
-[23, ["string", "factor"], 408, 310, [22, null]],
-[24, ["number", 2], 408, 352, [22, null]],
-[25, ["storein", 0], 323, 514, [141, 26, 34, 36]],
-[26, ["string", "max"], 390, 514, [25, null]],
-[27, "box", 552, 556, [30, 28, null]],
-[28, ["string", "n"], 606, 556, [27, null]],
-[29, "int", 444, 556, [34, 30]],
-[30, "sqrt", 498, 556, [29, 27]],
-[31, ["while", 146], 323, 766, [71, 47, 70, 84]],
-[32, ["plus2", 0], 408, 1124, [39, 37, 33]],
-[33, ["number", 1], 462, 1166, [32, null]],
-[34, ["plus2", 0], 390, 556, [25, 29, 35]],
-[35, ["number", 1], 444, 598, [34, null]],
-[36, ["vspace", 0], 323, 598, [25, 76]],
-[37, "box", 462, 1124, [32, 38, null]],
-[38, ["string", "factor"], 516, 1124, [37, null]],
-[39, ["storein", 0], 341, 1082, [42, 40, 32, null]],
-[40, ["string", "factor"], 408, 1082, [39, null]],
-[41, "stopstack", 359, 1022, [63, null]],
-[42, ["if", 21], 341, 914, [70, 48, 63, 39]],
-[43, "box", 425, 732, [47, 44, null]],
-[44, ["string", "factor"], 479, 732, [43, null]],
-[45, "box", 449, 774, [47, 46, null]],
-[46, ["string", "max"], 503, 774, [45, null]],
-[47, ["less2", 0], 379, 732, [31, 43, 45, null]],
-[48, ["equal2", 20], 397, 840, [42, 50, 49, null]],
-[49, ["number", 0], 443, 922, [48, null]],
-[50, ["remainder2", 0], 443, 840, [48, 51, 53]],
-[51, "box", 503, 840, [50, 52, null]],
-[52, ["string", "n"], 557, 840, [51, null]],
-[53, "box", 527, 882, [50, 54, null]],
-[54, ["string", "factor"], 581, 882, [53, null]],
-[55, ["storein", 0], 359, 1440, [65, 56, 57, 61]],
-[56, ["string", "factor"], 426, 1440, [55, null]],
-[57, "box", 426, 1482, [55, 58, null]],
-[58, ["string", "n"], 480, 1482, [57, null]],
-[59, "hat", 460, 240, [null, 60, 86]],
-[60, ["string", "push factor"], 518, 252, [59, null]],
-[61, "stack", 359, 1524, [55, 62, null]],
-[62, ["string", "push factor"], 417, 1524, [61, null]],
-[63, "stack", 359, 980, [42, 64, 41]],
-[64, ["string", "push factor"], 417, 980, [63, null]],
-[65, ["if", 42], 341, 1374, [69, 72, 55, null]],
-[66, ["number", 1], 467, 1382, [72, null]],
-[67, "box", 443, 1340, [72, 68, null]],
-[68, ["string", "n"], 497, 1340, [67, null]],
-[69, ["vspace", 0], 341, 1332, [79, 65]],
-[70, ["vspace", 20], 341, 832, [31, 42]],
-[71, ["vspace", 0], 323, 724, [76, 31]],
-[72, ["greater2", 0], 397, 1340, [65, 67, 66, null]],
-[73, ["storein", 0], 443, 908, [351, 74, 75, 87]],
-[74, ["string", "new factor"], 510, 908, [73, null]],
-[75, ["number", 1], 510, 950, [73, null]],
-[76, ["storein", 0], 323, 640, [36, 77, 78, 71]],
-[77, ["string", "new factor"], 390, 640, [76, null]],
-[78, ["number", 0], 390, 682, [76, null]],
-[79, ["if", 105], 323, 1266, [84, 80, 69, null]],
-[80, ["equal2", 0], 379, 1232, [79, 82, 81, null]],
-[81, ["number", 0], 425, 1274, [80, null]],
-[82, "box", 425, 1232, [80, 83, null]],
-[83, ["string", "new factor"], 479, 1232, [82, null]],
-[84, ["vspace", 20], 323, 1184, [31, 79]],
-[85, "sandwichclampcollapsed", 340, 234, [9, 141, null]],
-[86, "sandwichclampcollapsed", 460, 294, [59, 227, null]],
-[87, ["storein", 0], 443, 992, [73, 96, 13, 17]],
-[88, ["number", 1], 564, 472, [89, null]],
-[89, ["plus2", 0], 510, 430, [98, 94, 88]],
-[90, ["vspace", 20], 443, 472, [98, 345]],
-[91, ["storein", 0], 258, 388, [286, 92, 93, 149]],
-[92, ["string", "count"], 325, 388, [91, null]],
-[93, ["number", 0], 325, 430, [91, null]],
-[94, "box", 564, 430, [89, 95, null]],
-[95, ["string", "count"], 618, 430, [94, null]],
-[96, "box", 510, 992, [87, 97, null]],
-[97, ["string", "count"], 564, 992, [96, null]],
-[98, ["storein", 0], 443, 388, [232, 99, 89, 90]],
-[99, ["string", "count"], 510, 388, [98, null]],
-[100, ["storein", 0], 258, 808, [153, 101, 102, 385]],
-[101, ["string", "radius"], 325, 808, [100, null]],
-[102, ["number", 400], 325, 850, [100, null]],
-[103, ["string", "i"], 673, 636, [189, null]],
-[104, "seth", 583, 564, [453, 238, 174]],
-[105, ["number", 360], 749, 606, [106, null]],
-[106, ["division2", 0], 695, 606, [238, 105, 188]],
-[107, "forward", 583, 688, [174, 111, 162]],
-[108, "forward", 703, 728, [405, 109, 249]],
-[109, ["number", 1], 773, 728, [108, null]],
-[110, "back", 583, 958, [157, 113, null]],
-[111, "box", 653, 688, [107, 112, null]],
-[112, ["string", "radius"], 707, 688, [111, null]],
-[113, "box", 641, 958, [110, 114, null]],
-[114, ["string", "radius"], 695, 958, [113, null]],
-[115, "hat", 900, 300, [null, 116, 126]],
-[116, ["string", "increment color"], 958, 312, [115, null]],
-[117, "stack", 703, 812, [249, 118, 399]],
-[118, ["string", "increment color"], 761, 812, [117, null]],
-[119, "setcolor", 883, 364, [126, 125, null]],
-[120, ["number", 100], 1068, 406, [122, null]],
-[121, "color", 1014, 364, [125, null]],
-[122, ["division2", 0], 1014, 406, [125, 120, 123]],
-[123, "box", 1092, 448, [122, 124, null]],
-[124, ["string", "number"], 1146, 448, [123, null]],
-[125, ["plus2", 0], 960, 364, [119, 121, 122]],
-[126, "sandwichclampcollapsed", 900, 354, [115, 119, null]],
-[127, ["until", 62], 463, 710, [136, 132, 451, null]],
-[128, ["storein", 20], 481, 818, [451, 186, 236, null]],
-[129, ["string", "i"], 602, 818, [186, null]],
-[130, "box", 602, 942, [236, 187, null]],
-[131, ["string", "i"], 710, 942, [187, null]],
-[132, ["equal2", 20], 519, 636, [127, 133, 155, null]],
-[133, "box", 565, 636, [132, 189, null]],
-[134, "hat", 360, 360, [null, 135, 215]],
-[135, ["string", "draw cluster"], 418, 372, [134, null]],
-[136, ["vspace", 20], 463, 628, [180, 127]],
-[137, "stack", 258, 1268, [407, 138, 296]],
-[138, ["string", "draw cluster"], 316, 1268, [137, null]],
-[139, "box", 425, 210, [142, 140, null]],
-[140, ["string", "count"], 479, 210, [139, null]],
-[141, ["ifelse", [21, 21]],
-323, 244, [85, 142, 22, 144, 25]],
-[142, ["equal2", 0], 379, 210, [141, 139, 143, null]],
-[143, ["number", 0], 425, 252, [142, null]],
-[144, ["storein", 0], 341, 412, [141, 145, 148, null]],
-[145, ["string", "factor"], 408, 412, [144, null]],
-[146, "box", 462, 454, [148, 147, null]],
-[147, ["string", "count"], 516, 454, [146, null]],
-[148, "box", 408, 454, [144, 146, null]],
-[149, "comment", 258, 472, [91, 150, 4]],
-[150, ["string", "calculate prime factors"], 341, 472, [149, null]],
-[151, "comment", 258, 682, [1, 152, 153]],
-[152, ["string", "display prime factors"], 341, 682, [151, null]],
-[153, ["storein", 0], 258, 724, [151, 154, 175, 100]],
-[154, ["string", "level"], 325, 724, [153, null]],
-[155, "box", 565, 718, [132, 182, null]],
-[156, ["string", "i"], 584, 504, [177, null]],
-[157, ["ifelse", [0, 0]],
-583, 772, [162, 158, 443, 445, 110]],
-[158, ["equal2", 0], 639, 738, [157, 163, 159, null]],
-[159, ["number", 1], 685, 780, [158, null]],
-[160, "stack", 923, 770, [226, 161, 218]],
-[161, ["string", "draw cluster"], 981, 770, [160, null]],
-[162, ["vspace", 0], 583, 730, [107, 157]],
-[163, "box", 685, 738, [158, 164, null]],
-[164, ["string", "level"], 739, 738, [163, null]],
-[165, ["storein", 0], 163, 832, [362, 199, 172, 173]],
-[166, ["number", 2.5], 308, 916, [172, null]],
-[167, "box", 284, 874, [172, 195, null]],
-[168, ["storein", 0], 181, 1064, [375, 169, 401, null]],
-[169, ["string", "radius"], 248, 1064, [168, null]],
-[170, "box", 265, 964, [376, 171, null]],
-[171, ["string", "radius"], 319, 964, [170, null]],
-[172, ["division2", 0], 230, 874, [165, 167, 166]],
-[173, ["vspace", 20], 163, 916, [165, 375]],
-[174, ["vspace", 20], 583, 606, [104, 107]],
-[175, "box", 325, 766, [153, 176, null]],
-[176, ["string", "count"], 379, 766, [175, null]],
-[177, ["plus2", 0], 530, 504, [180, 156, 178]],
-[178, "box", 584, 546, [177, 179, null]],
-[179, ["string", "level"], 638, 546, [178, null]],
-[180, ["storein", 20], 463, 504, [206, 177, 181, 136]],
-[181, ["number", 0], 530, 586, [180, null]],
-[182, "box", 619, 718, [155, 183, null]],
-[183, ["string", "level"], 673, 718, [182, null]],
-[184, "box", 602, 860, [186, 185, null]],
-[185, ["string", "level"], 656, 860, [184, null]],
-[186, ["plus2", 0], 548, 818, [128, 129, 184]],
-[187, ["plus2", 0], 656, 942, [130, 131, 234]],
-[188, "box", 773, 648, [106, 192, null]],
-[189, ["plus2", 0], 619, 636, [133, 103, 190]],
-[190, "box", 673, 678, [189, 191, null]],
-[191, ["string", "level"], 727, 678, [190, null]],
-[192, "box", 827, 648, [188, 193, null]],
-[193, ["string", "level"], 881, 648, [192, null]],
-[194, ["plus2", 0], 230, 584, [204, 202, 196]],
-[195, ["string", "radius"], 338, 874, [167, null]],
-[196, "box", 284, 626, [194, 197, null]],
-[197, ["string", "level"], 338, 626, [196, null]],
-[198, ["plus2", 0], 415, 770, [207, 203, 200]],
-[199, ["string", "radius"], 230, 832, [165, null]],
-[200, "box", 469, 812, [198, 201, null]],
-[201, ["string", "level"], 523, 812, [200, null]],
-[202, ["string", "heading"], 284, 584, [194, null]],
-[203, ["string", "heading"], 469, 770, [198, null]],
-[204, ["storein", 20], 163, 584, [254, 194, 216, 362]],
-[205, "seth", 303, 770, [374, 207, null]],
-[206, "sandwichclampcollapsed", 480, 494, [208, 180, null]],
-[207, "box", 361, 770, [205, 198, null]],
-[208, "hat", 480, 440, [null, 209, 206]],
-[209, ["string", "inner loop"], 538, 452, [208, null]],
-[210, "stack", 378, 574, [241, 211, 245]],
-[211, ["string", "inner loop"], 436, 574, [210, null]],
-[212, ["number", 1], 1068, 728, [217, null]],
-[213, ["plus2", 0], 990, 854, [218, 222, 214]],
-[214, ["number", 1], 1044, 896, [213, null]],
-[215, "sandwichclampcollapsed", 360, 414, [134, 352, null]],
-[216, "heading", 230, 666, [204, null]],
-[217, ["minus2", 0], 990, 686, [220, 224, 212]],
-[218, ["storein", 0], 923, 812, [160, 219, 213, null]],
-[219, ["string", "level"], 990, 812, [218, null]],
-[220, ["storein", 0], 923, 644, [447, 221, 217, 226]],
-[221, ["string", "level"], 990, 644, [220, null]],
-[222, "box", 1044, 854, [213, 223, null]],
-[223, ["string", "level"], 1098, 854, [222, null]],
-[224, "box", 1044, 686, [217, 225, null]],
-[225, ["string", "level"], 1098, 686, [224, null]],
-[226, ["vspace", 0], 923, 728, [220, 160]],
-[227, "comment", 443, 304, [86, 228, 232]],
-[228, ["plus2", 0], 526, 304, [227, 229, 230]],
-[229, ["string", "factor "], 580, 304, [228, null]],
-[230, "box", 580, 346, [228, 231, null]],
-[231, ["string", "factor"], 634, 346, [230, null]],
-[232, ["vspace", 0], 443, 346, [227, 98]],
-[233, ["number", 1], 602, 900, [236, null]],
-[234, "box", 710, 984, [187, 235, null]],
-[235, ["string", "level"], 764, 984, [234, null]],
-[236, ["plus2", 0], 548, 900, [128, 233, 130]],
-[237, "heading", 695, 564, [238, null]],
-[238, ["plus2", 0], 641, 564, [104, 237, 106]],
-[239, "hat", 180, 520, [null, 240, 254]],
-[240, ["string", "save level"], 238, 532, [239, null]],
-[241, "stack", 378, 532, [360, 242, 210]],
-[242, ["string", "save level"], 436, 532, [241, null]],
-[243, "hat", 320, 580, [null, 244, 253]],
-[244, ["string", "restore level"], 378, 592, [243, null]],
-[245, "stack", 378, 616, [210, 246, 355]],
-[246, ["string", "restore level"], 436, 616, [245, null]],
-[247, "comment", 258, 1394, [456, 248, null]],
-[248, ["string", "done"], 341, 1394, [247, null]],
-[249, "back", 703, 770, [108, 250, 117]],
-[250, ["number", 1], 761, 770, [249, null]],
-[251, "setpensize", 258, 1142, [397, 396, 293]],
-[252, ["division2", 0], 379, 1018, [470, 283, 281]],
-[253, "sandwichclampcollapsed", 320, 634, [243, 372, null]],
-[254, "sandwichclampcollapsed", 180, 574, [239, 204, null]],
-[255, ["while", 168], 121, 522, [265, 259, 261, null]],
-[256, ["storein", 0], 121, 396, [285, 257, 258, 265]],
-[257, ["string", "number"], 188, 396, [256, null]],
-[258, ["number", 2], 188, 438, [256, null]],
-[259, ["less2", 0], 177, 488, [255, 266, 260, null]],
-[260, ["number", 101], 247, 530, [259, null]],
-[261, "fillscreen2", 139, 588, [255, 262, 264, 263, 2]],
-[262, ["number", 60], 220, 588, [261, null]],
-[263, ["number", 100], 220, 672, [261, null]],
-[264, "black", 220, 630, [261, null]],
-[265, ["vspace", 0], 121, 480, [256, 255]],
-[266, "box", 223, 488, [259, 267, null]],
-[267, ["string", "number"], 277, 488, [266, null]],
-[268, "box", 206, 756, [2, 269, null]],
-[269, ["string", "number"], 260, 756, [268, null]],
-[270, "hat", 240, 300, [null, 271, 286]],
-[271, ["string", "action"], 298, 312, [270, null]],
-[272, "stack", 139, 798, [2, 273, 461]],
-[273, ["string", "action"], 197, 798, [272, null]],
-[274, "wait", 981, 286, [463, 465, null]],
-[275, ["storein", 0], 139, 882, [461, 276, 280, null]],
-[276, ["string", "number"], 206, 882, [275, null]],
-[277, ["number", 1], 260, 966, [280, null]],
-[278, "box", 260, 924, [280, 279, null]],
-[279, ["string", "number"], 314, 924, [278, null]],
-[280, ["plus2", 0], 206, 924, [275, 278, 277]],
-[281, "box", 457, 1060, [252, 282, null]],
-[282, ["string", "number"], 511, 1060, [281, null]],
-[283, "box", 433, 1018, [252, 284, null]],
-[284, ["string", "radius"], 487, 1018, [283, null]],
-[285, ["forever", 273], 103, 362, [381, 256, null]],
-[286, "sandwichclampcollapsed", 240, 354, [270, 91, null]],
-[287, "penup", 643, 328, [290, 298]],
-[288, "pendown", 643, 454, [298, 305]],
-[289, "leftpos", 701, 370, [298, null]],
-[290, "setcolor", 643, 286, [379, 291, 287]],
-[291, "white", 720, 286, [290, null]],
-[292, "red", 335, 1184, [293, null]],
-[293, "setcolor", 258, 1184, [251, 292, 407]],
-[294, "hat", 660, 180, [null, 295, 318]],
-[295, ["string", "display factors"], 718, 192, [294, null]],
-[296, "stack", 258, 1310, [137, 297, 456]],
-[297, ["string", "display factors"], 316, 1310, [296, null]],
-[298, ["setxy2", 0], 643, 370, [287, 289, 384, 288]],
-[299, ["number", 100], 779, 454, [384, null]],
-[300, "show", 661, 604, [304, 309, 327]],
-[301, ["string", " prime"], 827, 688, [308, null]],
-[302, ["equal2", 0], 699, 504, [304, 306, 303, null]],
-[303, ["number", 1], 745, 546, [302, null]],
-[304, ["ifelse", [41, 0]],
-643, 538, [305, 302, 300, 326, null]],
-[305, ["vspace", 0], 643, 496, [288, 304]],
-[306, "box", 745, 504, [302, 307, null]],
-[307, ["string", "count"], 799, 504, [306, null]],
-[308, ["plus2", 0], 773, 646, [309, 311, 301]],
-[309, ["plus2", 0], 719, 604, [300, 310, 308]],
-[310, ["string", " "], 773, 604, [309, null]],
-[311, "box", 827, 646, [308, 312, null]],
-[312, ["string", "number"], 881, 646, [311, null]],
-[313, ["setxy2", 0], 763, 846, [316, 314, 315, 317]],
-[314, ["number", 0], 821, 846, [313, null]],
-[315, ["number", 0], 821, 888, [313, null]],
-[316, "penup", 763, 804, [437, 313]],
-[317, "pendown", 763, 930, [313, null]],
-[318, "sandwichclampcollapsed", 660, 234, [294, 379, null]],
-[319, ["plus2", 0], 719, 746, [326, 320, 321]],
-[320, ["string", " "], 773, 746, [319, null]],
-[321, ["plus2", 0], 773, 788, [319, 322, 325]],
-[322, "box", 827, 788, [321, 323, null]],
-[323, ["string", "number"], 881, 788, [322, null]],
-[324, ["string", " = "], 881, 830, [325, null]],
-[325, ["plus2", 0], 827, 830, [321, 324, 330]],
-[326, "show", 661, 746, [304, 319, null]],
-[327, ["vspace", 20], 661, 646, [300, null]],
-[328, ["storein", 0], 461, 620, [345, 329, 334, 350]],
-[329, ["string", "factor string"], 528, 620, [328, null]],
-[330, "box", 881, 872, [325, 331, null]],
-[331, ["string", "factor string"], 935, 872, [330, null]],
-[332, "box", 582, 806, [342, 333, null]],
-[333, ["string", "factor string"], 636, 806, [332, null]],
-[334, ["plus2", 0], 528, 662, [328, 335, 338]],
-[335, ["string", ""], 582, 662, [334, null]],
-[336, ["string", " x "], 636, 848, [337, null]],
-[337, ["plus2", 0], 582, 848, [342, 336, 340]],
-[338, "box", 582, 704, [334, 339, null]],
-[339, ["string", "factor"], 636, 704, [338, null]],
-[340, "box", 636, 890, [337, 341, null]],
-[341, ["string", "factor"], 690, 890, [340, null]],
-[342, ["plus2", 0], 528, 806, [343, 332, 337]],
-[343, ["storein", 0], 461, 764, [345, 344, 342, null]],
-[344, ["string", "factor string"], 528, 764, [343, null]],
-[345, ["ifelse", [42, 21]],
-443, 554, [90, 349, 328, 343, 351]],
-[346, "box", 545, 520, [349, 347, null]],
-[347, ["string", "count"], 599, 520, [346, null]],
-[348, ["number", 1], 545, 562, [349, null]],
-[349, ["equal2", 0], 499, 520, [345, 346, 348, null]],
-[350, ["vspace", 0], 461, 704, [328, null]],
-[351, ["vspace", 0], 443, 866, [345, 73]],
-[352, "seth", 378, 448, [215, 358, 360]],
-[353, ["number", 45], 490, 490, [358, null]],
-[354, "heading", 490, 448, [358, null]],
-[355, "seth", 378, 658, [245, 359, null]],
-[356, ["number", 45], 514, 700, [359, null]],
-[357, "heading", 490, 658, [359, null]],
-[358, ["plus2", 0], 436, 448, [352, 354, 353]],
-[359, ["minus2", 0], 436, 658, [355, 357, 356]],
-[360, ["vspace", 0], 378, 490, [352, 241]],
-[361, "sandwichclampcollapsed", 120, 268, [469, 409, null]],
-[362, ["storein", 20], 163, 708, [204, 367, 377, 165]],
-[363, ["string", "radius"], 284, 708, [367, null]],
-[364, "box", 370, 686, [372, 368, null]],
-[365, "box", 284, 750, [367, 366, null]],
-[366, ["string", "level"], 338, 750, [365, null]],
-[367, ["plus2", 0], 230, 708, [362, 363, 365]],
-[368, ["plus2", 0], 424, 686, [364, 369, 370]],
-[369, ["string", "radius"], 478, 686, [368, null]],
-[370, "box", 478, 728, [368, 371, null]],
-[371, ["string", "level"], 532, 728, [370, null]],
-[372, ["storein", 0], 303, 644, [253, 373, 364, 374]],
-[373, ["string", "radius"], 370, 644, [372, null]],
-[374, ["vspace", 0], 303, 728, [372, 205]],
-[375, ["if", 21], 163, 998, [173, 376, 168, null]],
-[376, ["less2", 0], 219, 964, [375, 170, 394, null]],
-[377, "box", 230, 790, [362, 378, null]],
-[378, ["string", "radius"], 284, 790, [377, null]],
-[379, "seth", 643, 244, [318, 380, 290]],
-[380, ["number", 0], 701, 244, [379, null]],
-[381, "setscale", 103, 320, [409, 382, 285]],
-[382, ["number", 75], 180, 320, [381, null]],
-[383, "toppos", 755, 412, [384, null]],
-[384, ["minus2", 0], 701, 412, [298, 383, 299]],
-[385, "seth", 258, 892, [100, 386, 389]],
-[386, ["random", 0], 316, 892, [385, 387, 388, null]],
-[387, ["number", 0], 402, 892, [386, null]],
-[388, ["number", 180], 402, 934, [386, null]],
-[389, ["vspace", 0], 258, 934, [385, 390]],
-[390, ["storein", 0], 258, 976, [389, 391, 470, 397]],
-[391, ["string", "pensize"], 325, 976, [390, null]],
-[392, "box", 805, 644, [398, 393, null]],
-[393, ["string", "pensize"], 859, 644, [392, null]],
-[394, "box", 289, 1006, [376, 395, null]],
-[395, ["string", "pensize"], 343, 1006, [394, null]],
-[396, ["number", 1], 360, 1142, [251, null]],
-[397, ["vspace", 20], 258, 1060, [390, 251]],
-[398, "setpensize", 703, 644, [448, 392, 405]],
-[399, "setpensize", 703, 854, [117, 400, 403]],
-[400, ["number", 1], 805, 854, [399, null]],
-[401, "box", 248, 1106, [168, 402, null]],
-[402, ["string", "pensize"], 302, 1106, [401, null]],
-[403, "setgray", 703, 896, [399, 404, null]],
-[404, ["number", 0], 776, 896, [403, null]],
-[405, "setgray", 703, 686, [398, 406, 108]],
-[406, ["number", 100], 776, 686, [405, null]],
-[407, "setgray", 258, 1226, [293, 408, 137]],
-[408, ["number", 0], 331, 1226, [407, null]],
-[409, "clean", 103, 278, [361, 381]],
-[410, "mousey", 1359, 328, [414, null]],
-[411, "height", 1413, 370, [412, null]],
-[412, ["division2", 0], 1359, 370, [414, 411, 413]],
-[413, ["number", 2], 1437, 412, [412, null]],
-[414, ["plus2", 0], 1305, 328, [415, 410, 412]],
-[415, ["division2", 0], 1227, 286, [467, 416, 414]],
-[416, "height", 1281, 286, [415, null]],
-[417, "toppos", 875, 428, [427, null]],
-[418, "bottompos", 875, 678, [438, null]],
-[419, "rightpos", 875, 346, [426, null]],
-[420, ["string", "fast"], 821, 512, [421, null]],
-[421, "show", 763, 512, [429, 420, 430]],
-[422, ["string", "slow"], 821, 762, [437, null]],
-[423, ["setxy2", 20], 763, 346, [428, 426, 427, 429]],
-[424, ["number", 200], 899, 388, [426, null]],
-[425, ["number", 100], 899, 470, [427, null]],
-[426, ["minus2", 0], 821, 346, [423, 419, 424]],
-[427, ["minus2", 0], 821, 428, [423, 417, 425]],
-[428, "penup", 763, 304, [458, 423]],
-[429, "pendown", 763, 470, [423, 421]],
-[430, "penup", 763, 554, [421, 431]],
-[431, ["setxy2", 20], 763, 596, [430, 432, 438, 436]],
-[432, ["minus2", 0], 821, 596, [431, 433, 434]],
-[433, "rightpos", 875, 596, [432, null]],
-[434, ["number", 200], 899, 638, [432, null]],
-[435, ["number", 100], 875, 720, [438, null]],
-[436, "pendown", 763, 720, [431, 437]],
-[437, "show", 763, 762, [436, 422, 316]],
-[438, ["plus2", 0], 821, 678, [431, 418, 435]],
-[439, "hat", 720, 580, [null, 440, 448]],
-[440, ["string", "draw point"], 778, 592, [439, null]],
-[441, "hat", 940, 580, [null, 442, 447]],
-[442, ["string", "recurse"], 998, 592, [441, null]],
-[443, "stack", 601, 838, [157, 444, null]],
-[444, ["string", "draw point"], 659, 838, [443, null]],
-[445, "stack", 601, 898, [157, 446, null]],
-[446, ["string", "recurse"], 659, 898, [445, null]],
-[447, "sandwichclampcollapsed", 940, 634, [441, 220, null]],
-[448, "sandwichclampcollapsed", 720, 634, [439, 398, null]],
-[449, "hat", 600, 500, [null, 450, 453]],
-[450, ["string", "radiate"], 658, 512, [449, null]],
-[451, "stack", 481, 776, [127, 452, 128]],
-[452, ["string", "radiate"], 539, 776, [451, null]],
-[453, "sandwichclampcollapsed", 600, 554, [449, 104, null]],
-[454, "hat", 780, 240, [null, 455, 458]],
-[455, ["string", "display scale"], 838, 252, [454, null]],
-[456, "stack", 258, 1352, [296, 457, 247]],
-[457, ["string", "display scale"], 316, 1352, [456, null]],
-[458, "sandwichclampcollapsed", 780, 294, [454, 428, null]],
-[459, "hat", 980, 180, [null, 460, 468]],
-[460, ["string", "pause"], 1038, 192, [459, null]],
-[461, "stack", 139, 840, [272, 462, 275]],
-[462, ["string", "pause"], 197, 840, [461, null]],
-[463, ["repeat", 0], 963, 244, [468, 464, 274, null]],
-[464, ["number", 10], 1021, 244, [463, null]],
-[465, ["division2", 0], 1039, 286, [274, 467, 466]],
-[466, ["number", 10], 1117, 328, [465, null]],
-[467, ["identity2", 40], 1093, 286, [465, 415]],
-[468, "sandwichclampcollapsed", 980, 234, [459, 463, null]],
-[469, "fullscreen", 120, 226, [0, 361]],
-[470, ["product2", 20], 325, 1018, [390, 252, 471]],
-[471, ["number", 2.0], 379, 1100, [470, null]]]
diff --git a/samples/math-sierpquad.ta b/samples/math-sierpquad.ta
deleted file mode 100644
index 424b178..0000000
--- a/samples/math-sierpquad.ta
+++ /dev/null
@@ -1,78 +0,0 @@
-[[0, "pendown", 489, 234, [45, 1]],
-[1, "setcolor", 489, 276, [0, 33, 42]],
-[2, ["repeat", 42], 489, 360, [42, 3, 4, null]],
-[3, ["number", 4], 548, 360, [2, null]],
-[4, "setcolor", 507, 402, [2, 6, 56]],
-[5, "color", 638, 402, [6, null]],
-[6, ["minus2", 0], 584, 402, [4, 5, 7]],
-[7, ["number", 2], 662, 444, [6, null]],
-[8, ["ifelse", [273, 21]],
-805, 276, [10, 9, 61, 15, null]],
-[9, ["greater2", 0], 861, 242, [8, 65, 18, null]],
-[10, ["vspace", 0], 805, 234, [47, 8]],
-[11, "penup", 823, 510, [53, 12]],
-[12, "forward", 823, 552, [11, 69, 51]],
-[13, "penup", 823, 636, [51, 14]],
-[14, "forward", 823, 678, [13, 31, 36]],
-[15, "forward", 823, 948, [8, 75, 16]],
-[16, "right", 823, 990, [15, 17, null]],
-[17, ["number", 90], 881, 990, [16, null]],
-[18, ["number", 10], 931, 284, [9, null]],
-[19, "clean", 237, 221, [28, 20]],
-[20, "setpensize", 237, 263, [19, 21, 43]],
-[21, ["number", 1], 339, 263, [20, null]],
-[22, ["setxy2", 0], 237, 347, [43, 24, 23, 44]],
-[23, ["number", -365], 295, 389, [22, null]],
-[24, ["number", 365], 295, 347, [22, null]],
-[25, "left", 237, 473, [44, 26, 59]],
-[26, ["number", 90], 295, 473, [25, null]],
-[27, ["number", 729.0], 305, 557, [59, null]],
-[28, ["start", 2.0], 237, 175, [null, 19]],
-[29, ["division2", 0], 891, 384, [61, 67, 30]],
-[30, ["number", 3], 969, 426, [29, null]],
-[31, ["product2", 0], 894, 678, [14, 71, 32]],
-[32, ["number", 2], 948, 720, [31, null]],
-[33, ["plus2", 0], 566, 276, [1, 34, 35]],
-[34, "color", 620, 276, [33, null]],
-[35, ["number", 8], 620, 318, [33, null]],
-[36, ["vspace", 0], 823, 720, [14, 63]],
-[37, ["product2", 0], 891, 804, [63, 73, 38]],
-[38, ["number", 3], 945, 846, [37, null]],
-[39, "right", 823, 888, [41, 40, null]],
-[40, ["number", 90], 881, 888, [39, null]],
-[41, ["vspace", 0], 823, 846, [63, 39]],
-[42, ["vspace", 0], 489, 318, [1, 2]],
-[43, "penup", 237, 305, [20, 22]],
-[44, "pendown", 237, 431, [22, 25]],
-[45, "hat", 489, 180, [null, 46, 0]],
-[46, ["string", "action"], 547, 192, [45, null]],
-[47, "hat", 805, 180, [null, 48, 10]],
-[48, ["string", "action_2"], 863, 192, [47, null]],
-[49, "stack", 237, 599, [59, 50, null]],
-[50, ["string", "action"], 295, 599, [49, null]],
-[51, "stack", 823, 594, [12, 52, 13]],
-[52, ["string", "action"], 881, 594, [51, null]],
-[53, "stack", 823, 468, [55, 54, 11]],
-[54, ["string", "action"], 881, 468, [53, null]],
-[55, ["vspace", 0], 823, 426, [61, 53]],
-[56, ["vspace", 0], 507, 444, [4, 57]],
-[57, "stack", 507, 486, [56, 58, null]],
-[58, ["string", "action_2"], 565, 486, [57, null]],
-[59, ["storein", 0], 237, 515, [25, 60, 27, 49]],
-[60, ["string", "my box"], 305, 515, [59, null]],
-[61, ["storein", 0], 823, 342, [8, 62, 29, 55]],
-[62, ["string", "my box"], 891, 342, [61, null]],
-[63, ["storein", 0], 823, 762, [36, 64, 37, 41]],
-[64, ["string", "my box"], 891, 762, [63, null]],
-[65, "box", 907, 242, [9, 66, null]],
-[66, ["string", "my box"], 962, 242, [65, null]],
-[67, "box", 945, 384, [29, 68, null]],
-[68, ["string", "my box"], 1000, 384, [67, null]],
-[69, "box", 894, 552, [12, 70, null]],
-[70, ["string", "my box"], 949, 552, [69, null]],
-[71, "box", 948, 678, [31, 72, null]],
-[72, ["string", "my box"], 1003, 678, [71, null]],
-[73, "box", 945, 804, [37, 74, null]],
-[74, ["string", "my box"], 1000, 804, [73, null]],
-[75, "box", 894, 948, [15, 76, null]],
-[76, ["string", "my box"], 949, 948, [75, null]]]
diff --git a/samples/math-sierpquad2.ta b/samples/math-sierpquad2.ta
deleted file mode 100644
index a86d1e5..0000000
--- a/samples/math-sierpquad2.ta
+++ /dev/null
@@ -1,96 +0,0 @@
-[[0, ["start", 2.0], 221, 174, [null, 1]],
-[1, "clean", 221, 220, [0, 2]],
-[2, "setpensize", 221, 262, [1, 3, 58]],
-[3, ["number", 1], 323, 262, [2, null]],
-[4, ["setxy2", 0], 221, 346, [58, 5, 6, 59]],
-[5, ["number", 365], 279, 346, [4, null]],
-[6, ["number", -365], 279, 388, [4, null]],
-[7, "left", 221, 472, [59, 8, 74]],
-[8, ["number", 90], 279, 472, [7, null]],
-[9, ["number", 729.0], 289, 556, [74, null]],
-[10, "pendown", 221, 640, [68, 11]],
-[11, ["repeat", 21], 221, 682, [10, 12, 13, null]],
-[12, ["number", 4], 280, 682, [11, null]],
-[13, "forward", 239, 724, [11, 90, 14]],
-[14, "right", 239, 766, [13, 15, null]],
-[15, ["number", 90], 297, 766, [14, null]],
-[16, "penup", 477, 232, [60, 17]],
-[17, "setcolor", 477, 274, [16, 48, 54]],
-[18, ["repeat", 188], 477, 484, [53, 19, 20, 76]],
-[19, ["number", 4], 536, 484, [18, null]],
-[20, "setcolor", 495, 526, [18, 22, 55]],
-[21, "color", 626, 526, [22, null]],
-[22, ["minus2", 0], 572, 526, [20, 21, 23]],
-[23, ["number", 2], 650, 568, [22, null]],
-[24, ["if", 0], 495, 650, [55, 25, 70, 56]],
-[25, ["greater2", 0], 551, 616, [24, 88, 26, null]],
-[26, ["number", 1], 621, 658, [25, null]],
-[27, "forward", 495, 818, [56, 28, 57]],
-[28, ["product2", 0], 566, 818, [27, 92, 29]],
-[29, ["number", 3], 620, 860, [28, null]],
-[30, "right", 495, 902, [57, 31, null]],
-[31, ["number", 90], 553, 902, [30, null]],
-[32, ["product2", 0], 545, 1004, [76, 94, 33]],
-[33, ["number", 3], 599, 1046, [32, null]],
-[34, "forward", 821, 272, [64, 78, 66]],
-[35, ["repeat", 21], 821, 356, [66, 36, 37, 40]],
-[36, ["number", 2], 880, 356, [35, null]],
-[37, "forward", 839, 398, [35, 80, 38]],
-[38, "right", 839, 440, [37, 39, null]],
-[39, ["number", 90], 897, 440, [38, null]],
-[40, "pendown", 821, 500, [35, 41]],
-[41, "forward", 821, 542, [40, 82, 42]],
-[42, "penup", 821, 584, [41, 43]],
-[43, ["repeat", 21], 821, 626, [42, 44, 45, null]],
-[44, ["number", 2], 880, 626, [43, null]],
-[45, "forward", 839, 668, [43, 84, 46]],
-[46, "right", 839, 710, [45, 47, null]],
-[47, ["number", 90], 897, 710, [46, null]],
-[48, ["plus2", 0], 554, 274, [17, 49, 50]],
-[49, "color", 608, 274, [48, null]],
-[50, ["number", 8], 608, 316, [48, null]],
-[51, ["division2", 0], 545, 400, [72, 86, 52]],
-[52, ["number", 3], 623, 442, [51, null]],
-[53, ["vspace", 0], 477, 442, [72, 18]],
-[54, ["vspace", 0], 477, 316, [17, 72]],
-[55, ["vspace", 20.0], 495, 568, [20, 24]],
-[56, ["vspace", 0], 495, 776, [24, 27]],
-[57, ["vspace", 0], 495, 860, [27, 30]],
-[58, "penup", 221, 304, [2, 4]],
-[59, "pendown", 221, 430, [4, 7]],
-[60, "hat", 477, 178, [null, 61, 16]],
-[61, ["string", "action"], 535, 190, [60, null]],
-[62, "hat", 821, 176, [null, 63, 64]],
-[63, ["string", "action_2"], 879, 188, [62, null]],
-[64, "stack", 821, 230, [62, 65, 34]],
-[65, ["string", "action"], 879, 230, [64, null]],
-[66, "stack", 821, 314, [34, 67, 35]],
-[67, ["string", "action"], 879, 314, [66, null]],
-[68, "stack", 221, 598, [74, 69, 10]],
-[69, ["string", "action"], 279, 598, [68, null]],
-[70, "stack", 513, 716, [24, 71, null]],
-[71, ["string", "action_2"], 571, 716, [70, null]],
-[72, ["storein", 0], 477, 358, [54, 73, 51, 53]],
-[73, ["string", "my box"], 545, 358, [72, null]],
-[74, ["storein", 0], 221, 514, [7, 75, 9, 68]],
-[75, ["string", "my box"], 289, 514, [74, null]],
-[76, ["storein", 0], 477, 962, [18, 77, 32, null]],
-[77, ["string", "my box"], 545, 962, [76, null]],
-[78, "box", 892, 272, [34, 79, null]],
-[79, ["string", "my box"], 947, 272, [78, null]],
-[80, "box", 910, 398, [37, 81, null]],
-[81, ["string", "my box"], 965, 398, [80, null]],
-[82, "box", 892, 542, [41, 83, null]],
-[83, ["string", "my box"], 947, 542, [82, null]],
-[84, "box", 910, 668, [45, 85, null]],
-[85, ["string", "my box"], 965, 668, [84, null]],
-[86, "box", 599, 400, [51, 87, null]],
-[87, ["string", "my box"], 654, 400, [86, null]],
-[88, "box", 597, 616, [25, 89, null]],
-[89, ["string", "my box"], 652, 616, [88, null]],
-[90, "box", 310, 724, [13, 91, null]],
-[91, ["string", "my box"], 365, 724, [90, null]],
-[92, "box", 620, 818, [28, 93, null]],
-[93, ["string", "my box"], 675, 818, [92, null]],
-[94, "box", 599, 1004, [32, 95, null]],
-[95, ["string", "my box"], 654, 1004, [94, null]]]
diff --git a/samples/math-sierptri.ta b/samples/math-sierptri.ta
deleted file mode 100644
index a51ca54..0000000
--- a/samples/math-sierptri.ta
+++ /dev/null
@@ -1,47 +0,0 @@
-[[0, "hat1", 503, 175, [null, 1]],
-[1, "pendown", 503, 217, [0, 2]],
-[2, "setcolor", 503, 251, [1, 33, 15]],
-[3, "repeat", 503, 335, [15, 4, 5, null]],
-[4, ["number", 3], 554, 335, [3, null]],
-[5, "setcolor", 568, 395, [3, 36, 16]],
-[6, "if", 568, 519, [16, 7, 10, 14]],
-[7, ["greater2", 0], 606, 485, [6, 8, 9, null]],
-[8, "box1", 652, 485, [7, null]],
-[9, ["number", 16], 652, 527, [7, null]],
-[10, "storeinbox1", 620, 587, [6, 39, 11]],
-[11, "stack1", 620, 629, [10, 12]],
-[12, "storeinbox1", 620, 663, [11, 42, 13]],
-[13, "penup", 620, 705, [12, null]],
-[14, ["vspace", 60.0], 568, 605, [6, 17]],
-[15, ["vspace", 0], 503, 293, [2, 3]],
-[16, ["vspace", 20.0], 568, 437, [5, 6]],
-[17, "forward", 568, 767, [14, 18, 19]],
-[18, "box1", 639, 767, [17, null]],
-[19, "right", 568, 809, [17, 20, null]],
-[20, ["number", 120], 626, 809, [19, null]],
-[21, ["start", 2.0], 255, 175, [null, 22]],
-[22, "clean", 255, 217, [21, 23]],
-[23, "setpensize", 255, 251, [22, 24, 45]],
-[24, ["number", 2], 357, 251, [23, null]],
-[25, ["setxy2", 0], 255, 327, [45, 26, 27, 46]],
-[26, ["number", 383], 313, 327, [25, null]],
-[27, ["number", -333], 313, 369, [25, null]],
-[28, "left", 255, 445, [46, 29, 30]],
-[29, ["number", 90], 313, 445, [28, null]],
-[30, "storeinbox1", 255, 487, [28, 31, 32]],
-[31, ["number", 768], 373, 487, [30, null]],
-[32, "stack1", 255, 529, [30, null]],
-[33, ["plus2", 0], 580, 251, [2, 34, 35]],
-[34, "color", 634, 251, [33, null]],
-[35, ["number", 6], 634, 293, [33, null]],
-[36, ["minus2", 0], 645, 395, [5, 37, 38]],
-[37, "color", 699, 395, [36, null]],
-[38, ["number", 2], 723, 437, [36, null]],
-[39, ["division2", 0], 738, 587, [10, 40, 41]],
-[40, "box1", 792, 587, [39, null]],
-[41, ["number", 2], 816, 629, [39, null]],
-[42, ["product2", 0], 738, 663, [12, 43, 44]],
-[43, "box1", 792, 663, [42, null]],
-[44, ["number", 2], 792, 705, [42, null]],
-[45, "penup", 255, 293, [23, 25]],
-[46, "pendown", 255, 411, [25, 28]]] \ No newline at end of file
diff --git a/samples/math-sin-function.ta b/samples/math-sin-function.ta
deleted file mode 100644
index bcf81d4..0000000
--- a/samples/math-sin-function.ta
+++ /dev/null
@@ -1,49 +0,0 @@
-[[0, ["start", 2.0], 76, 215, [null, 43]],
-[1, "storeinbox1", 141, 503, [31, 2, 34]],
-[2, ["number", -3.14159], 259, 503, [1, null]],
-[3, "repeat", 398, 229, [45, 4, 21, null]],
-[4, ["number", 628], 449, 229, [3, null]],
-[5, ["setxy2", 0], 463, 575, [47, 25, 27, 48]],
-[6, "box1", 585, 331, [19, null]],
-[7, ["product2", 20.0], 531, 457, [23, 8, 38]],
-[8, "myfunc", 585, 457, [7, 9, 16]],
-[9, ["string", "sin(x)"], 665, 457, [8, null]],
-[10, "forward", 463, 693, [48, 11, 12]],
-[11, ["number", 0], 534, 693, [10, null]],
-[12, "storeinbox1", 463, 735, [10, 13, null]],
-[13, ["plus2", 0], 581, 735, [12, 14, 15]],
-[14, "box1", 635, 735, [13, null]],
-[15, ["number", 0.01], 635, 777, [13, null]],
-[16, "box1", 665, 499, [8, null]],
-[17, "clean", 76, 291, [43, 18]],
-[18, "cartesian", 76, 325, [17, 32]],
-[19, ["product2", 0], 531, 331, [21, 6, 20]],
-[20, ["number", 100], 585, 373, [19, null]],
-[21, ["storein", 0], 463, 289, [3, 22, 19, 29]],
-[22, ["string", "x"], 531, 289, [21, null]],
-[23, ["storein", 0], 463, 415, [29, 24, 7, 30]],
-[24, ["string", "sin(x)"], 531, 415, [23, null]],
-[25, "box", 521, 575, [5, 26, null]],
-[26, ["string", "x"], 576, 575, [25, null]],
-[27, "box", 521, 617, [5, 28, null]],
-[28, ["string", "sin(x)"], 576, 617, [27, null]],
-[29, ["vspace", 0], 463, 373, [21, 23]],
-[30, ["vspace", 0], 463, 499, [23, 47]],
-[31, "setcolor", 141, 461, [39, 42, 1]],
-[32, "storeinbox2", 76, 359, [18, 33, 39]],
-[33, ["number", 1], 194, 359, [32, null]],
-[34, "storeinbox2", 141, 545, [1, 36, 46]],
-[35, ["number", 2], 313, 587, [36, null]],
-[36, ["plus2", 0], 259, 545, [34, 37, 35]],
-[37, "box2", 313, 545, [36, null]],
-[38, "box2", 585, 539, [7, null]],
-[39, "repeat", 76, 401, [32, 40, 31, 41]],
-[40, ["number", 200], 127, 401, [39, null]],
-[41, ["vspace", 60.0], 76, 479, [39, 44]],
-[42, "box2", 218, 461, [31, null]],
-[43, "hideblocks", 76, 257, [0, 17]],
-[44, "showblocks", 76, 641, [41, null]],
-[45, "hat1", 398, 187, [null, 3]],
-[46, "stack1", 141, 587, [34, null]],
-[47, "penup", 463, 541, [30, 5]],
-[48, "pendown", 463, 659, [5, 10]]] \ No newline at end of file
diff --git a/samples/math-tangents.ta b/samples/math-tangents.ta
deleted file mode 100644
index 05a8e81..0000000
--- a/samples/math-tangents.ta
+++ /dev/null
@@ -1,90 +0,0 @@
-[[0, "repeat", 552, 231, [76, 1, 2, null]],
-[1, ["number", 50], 603, 231, [0, null]],
-[2, "setcolor", 617, 291, [0, 3, 29]],
-[3, ["plus2", 0], 694, 291, [2, 4, 5]],
-[4, "color", 748, 291, [3, null]],
-[5, ["number", 2], 748, 333, [3, null]],
-[6, ["setxy2", 0], 617, 409, [84, 7, 8, 27]],
-[7, ["number", 0], 675, 409, [6, null]],
-[8, ["minus2", 0], 675, 451, [6, 9, 10]],
-[9, ["number", 0], 729, 451, [8, null]],
-[10, "box1", 753, 493, [8, null]],
-[11, "seth", 617, 569, [85, 12, 13]],
-[12, ["number", 270], 716, 569, [11, null]],
-[13, ["arc", 0], 617, 611, [11, 14, 15, 86]],
-[14, ["number", 360], 675, 611, [13, null]],
-[15, "box1", 675, 653, [13, null]],
-[16, ["setxy2", 0], 617, 729, [86, 17, 18, 28]],
-[17, ["number", 400], 675, 729, [16, null]],
-[18, ["minus2", 0], 675, 771, [16, 19, 20]],
-[19, "box1", 729, 771, [18, null]],
-[20, ["number", 200], 753, 813, [18, null]],
-[21, "forward", 617, 889, [87, 22, 23]],
-[22, ["number", 800], 688, 889, [21, null]],
-[23, "storeinbox1", 617, 931, [21, 24, null]],
-[24, ["plus2", 0], 735, 931, [23, 25, 26]],
-[25, "box1", 789, 931, [24, null]],
-[26, ["number", 4], 789, 973, [24, null]],
-[27, ["vspace", 0], 617, 493, [6, 85]],
-[28, ["vspace", 0], 617, 813, [16, 87]],
-[29, ["vspace", 0], 617, 333, [2, 84]],
-[30, "clean", 264, 217, [71, 31]],
-[31, "setpensize", 264, 251, [30, 32, 33]],
-[32, ["number", 2], 366, 251, [31, null]],
-[33, "storeinbox1", 264, 293, [31, 34, 35]],
-[34, ["number", 100], 382, 293, [33, null]],
-[35, "setcolor", 264, 335, [33, 36, 80]],
-[36, ["number", 0], 341, 335, [35, null]],
-[37, ["setxy2", 0], 264, 411, [80, 38, 39, 81]],
-[38, ["number", 400], 322, 411, [37, null]],
-[39, ["number", -200], 322, 453, [37, null]],
-[40, "seth", 264, 529, [81, 41, 42]],
-[41, ["number", 270], 363, 529, [40, null]],
-[42, "forward", 264, 571, [40, 43, 82]],
-[43, ["number", 800], 335, 571, [42, null]],
-[44, ["setxy2", 0], 264, 647, [82, 45, 46, 83]],
-[45, ["number", 0], 322, 647, [44, null]],
-[46, ["number", 0], 322, 689, [44, null]],
-[47, "forward", 264, 765, [83, 48, 75]],
-[48, ["number", 0], 335, 765, [47, null]],
-[49, "setcolor", 863, 237, [78, 50, 51]],
-[50, ["number", 0], 940, 237, [49, null]],
-[51, "storeinbox2", 863, 279, [49, 52, 53]],
-[52, ["number", -300], 981, 279, [51, null]],
-[53, "repeat", 863, 321, [51, 54, 88, null]],
-[54, ["number", 601], 914, 321, [53, null]],
-[55, ["setxy2", 0], 928, 415, [88, 56, 57, 89]],
-[56, "box2", 986, 415, [55, null]],
-[57, ["division2", 40.0], 986, 457, [55, 58, 63]],
-[58, ["minus2", 20.0], 1040, 457, [57, 59, 62]],
-[59, ["product2", 0], 1094, 457, [58, 60, 61]],
-[60, "box2", 1148, 457, [59, null]],
-[61, "box2", 1148, 499, [59, null]],
-[62, ["number", 40000], 1118, 539, [58, null]],
-[63, ["number", 400], 1064, 579, [57, null]],
-[64, ["vspace", 40], 928, 533, [89, 65]],
-[65, "forward", 928, 655, [64, 66, 67]],
-[66, ["number", 0], 999, 655, [65, null]],
-[67, "storeinbox2", 928, 697, [65, 68, null]],
-[68, ["plus2", 0], 1046, 697, [67, 69, 70]],
-[69, "box2", 1100, 697, [68, null]],
-[70, ["number", 1], 1100, 739, [68, null]],
-[71, ["start", 2.0], 264, 175, [null, 30]],
-[72, ["string", "exponential"], 322, 849, [74, null]],
-[73, ["string", "tangents"], 322, 807, [75, null]],
-[74, "stack", 264, 849, [75, 72, null]],
-[75, "stack", 264, 807, [47, 73, 74]],
-[76, "hat", 552, 181, [null, 77, 0]],
-[77, ["string", "tangents"], 610, 189, [76, null]],
-[78, "hat", 863, 187, [null, 79, 49]],
-[79, ["string", "exponential"], 921, 195, [78, null]],
-[80, "penup", 264, 377, [35, 37]],
-[81, "pendown", 264, 495, [37, 40]],
-[82, "penup", 264, 613, [42, 44]],
-[83, "pendown", 264, 731, [44, 47]],
-[84, "penup", 617, 375, [29, 6]],
-[85, "pendown", 617, 535, [27, 11]],
-[86, "penup", 617, 695, [13, 16]],
-[87, "pendown", 617, 855, [28, 21]],
-[88, "penup", 928, 381, [53, 55]],
-[89, "pendown", 928, 499, [55, 64]]] \ No newline at end of file
diff --git a/samples/media-about-me.ta b/samples/media-about-me.ta
deleted file mode 100644
index 6b3ca45..0000000
--- a/samples/media-about-me.ta
+++ /dev/null
@@ -1,73 +0,0 @@
-[[0, ["start", 2.0], 163, 175, [null, 28]],
-[1, ["journal", "./samples/images/me.jpg"], 273, 839, [55, null]],
-[2, "stack2", 452, -47, [null, null]],
-[3, "clean", 163, 259, [28, 32]],
-[4, ["string", "fact list"], 246, 503, [31, null]],
-[5, ["string", "Me"], 221, 789, [65, null]],
-[6, ["list", 0], 163, 1041, [71, 7, 8, 10, 11, 12, 13, 14, 9]],
-[7, ["string", "\u2219 Name"], 221, 1041, [6, null]],
-[8, ["string", "\u2219 Age"], 221, 1083, [6, null]],
-[9, ["sandwichcollapsed", 1], 163, 579, [6, 36]],
-[10, ["string", "\u2219 Hair color"], 221, 1125, [6, null]],
-[11, ["string", "\u2219 Eye color"], 221, 1167, [6, null]],
-[12, ["string", "\u2219 Favorite food"], 221, 1209, [6, null]],
-[13, ["string", "\u2219 Favorite hobby"], 221, 1251, [6, null]],
-[14, ["string", "\u2219 Favorite book"], 221, 1293, [6, null]],
-[15, "forever", 473, 440, [33, 16, null]],
-[16, "kbinput", 534, 458, [15, 17]],
-[17, ["vspace", 0], 534, 500, [16, 18]],
-[18, "if", 534, 542, [17, 19, 22, 23]],
-[19, ["greater2", 0], 572, 508, [18, 20, 21, null]],
-[20, "keyboard", 618, 508, [19, null]],
-[21, ["number", 0], 618, 550, [19, null]],
-[22, "stopstack", 586, 610, [18, null]],
-[23, ["vspace", 0], 534, 628, [18, 24]],
-[24, "wait", 534, 670, [23, 25, null]],
-[25, ["number", 1], 592, 670, [24, null]],
-[26, ["string", "wait for keyboard input"], 531, 398, [33, null]],
-[27, "showblocks", 163, 663, [36, null]],
-[28, "hideblocks", 163, 217, [0, 3]],
-[29, ["string", "picture"], 246, 301, [32, null]],
-[30, ["string", "About me"], 221, 587, [47, null]],
-[31, "comment", 163, 503, [38, 4, 57]],
-[32, "comment", 163, 301, [3, 29, 39]],
-[33, "hat", 473, 390, [null, 26, 15]],
-[34, "stack", 163, 419, [56, 35, 38]],
-[35, ["string", "wait for keyboard input"], 221, 419, [34, null]],
-[36, "stack", 163, 621, [9, 37, 27]],
-[37, ["string", "wait for keyboard input"], 221, 621, [36, null]],
-[38, "clean", 163, 461, [34, 31]],
-[39, "sandwichtop_no_arm_no_label", 145, 343, [32, 40]],
-[40, "penup", 163, 377, [39, 41]],
-[41, ["setxy", 0], 163, 419, [40, 42, 43, 44]],
-[42, "titlex", 221, 419, [41, null]],
-[43, "titley", 221, 461, [41, null]],
-[44, "pendown", 163, 503, [41, 45]],
-[45, "setscale", 163, 545, [44, 46, 47]],
-[46, ["number", 100], 240, 545, [45, null]],
-[47, "show", 163, 587, [45, 30, 48]],
-[48, "penup", 163, 629, [47, 49]],
-[49, ["setxy", 0], 163, 671, [48, 50, 51, 52]],
-[50, "leftx", 221, 671, [49, null]],
-[51, "topy", 221, 713, [49, null]],
-[52, "pendown", 163, 755, [49, 53]],
-[53, "setscale", 163, 797, [52, 54, 55]],
-[54, ["number", 90], 240, 797, [53, null]],
-[55, "showaligned", 163, 839, [53, 1, 56]],
-[56, ["sandwichcollapsed", 1], 163, 377, [55, 34]],
-[57, "sandwichtop_no_arm_no_label", 145, 545, [31, 58]],
-[58, "penup", 163, 579, [57, 59]],
-[59, ["setxy", 0], 163, 621, [58, 60, 61, 62]],
-[60, "titlex", 221, 621, [59, null]],
-[61, "titley", 221, 663, [59, null]],
-[62, "pendown", 163, 705, [59, 63]],
-[63, "setscale", 163, 747, [62, 64, 65]],
-[64, ["number", 100], 240, 747, [63, null]],
-[65, "show", 163, 789, [63, 5, 66]],
-[66, "penup", 163, 831, [65, 67]],
-[67, ["setxy", 0], 163, 873, [66, 68, 69, 70]],
-[68, "leftx", 221, 873, [67, null]],
-[69, "topy", 221, 915, [67, null]],
-[70, "pendown", 163, 957, [67, 71]],
-[71, "setscale", 163, 999, [70, 72, 6]],
-[72, ["number", 67], 240, 999, [71, null]]] \ No newline at end of file
diff --git a/samples/media-alice.ta b/samples/media-alice.ta
deleted file mode 100644
index 8c3bb8c..0000000
--- a/samples/media-alice.ta
+++ /dev/null
@@ -1,49 +0,0 @@
-[[0, ["start", 2.0], 160, 220, [null, 39]],
-[1, ["until", 21], 740, 296, [10, 2, 5, null]],
-[2, ["greater2", 0], 796, 262, [1, 3, 4, null]],
-[3, "keyboard", 842, 262, [2, null]],
-[4, ["number", 0], 866, 304, [2, null]],
-[5, "wait", 758, 362, [1, 6, 7]],
-[6, ["number", 0.01], 816, 362, [5, null]],
-[7, "kbinput", 758, 404, [5, null]],
-[8, "hat", 740, 200, [null, 9, 10]],
-[9, ["string", "get char"], 798, 212, [8, null]],
-[10, ["vspace", 0], 740, 254, [8, 1]],
-[11, ["forever", 177], 440, 224, [32, 12, null]],
-[12, "stack", 458, 258, [11, 13, 15]],
-[13, ["string", "get char"], 516, 258, [12, null]],
-[14, ["ifelse", [0, 63]],
-458, 342, [15, 16, 21, 22, null]],
-[15, ["vspace", 0], 458, 300, [12, 14]],
-[16, ["equal2", 0], 514, 308, [14, 18, 17, null]],
-[17, ["number", 13], 560, 350, [16, null]],
-[18, "keyboard", 560, 308, [16, null]],
-[19, "hat", 440, 44, [null, 20, 46]],
-[20, ["string", "get phrase"], 498, 56, [19, null]],
-[21, "stopstack", 476, 408, [14, null]],
-[22, ["storein", 0], 476, 468, [14, 23, 27, 28]],
-[23, ["string", "phrase"], 544, 468, [22, null]],
-[24, "box", 598, 510, [27, 25, null]],
-[25, ["string", "phrase"], 653, 510, [24, null]],
-[26, "keyboard", 652, 552, [37, null]],
-[27, ["plus2", 0], 544, 510, [22, 24, 37]],
-[28, ["vspace", 0], 476, 552, [22, 31]],
-[29, "box", 534, 594, [31, 30, null]],
-[30, ["string", "phrase"], 589, 594, [29, null]],
-[31, "print", 476, 594, [28, 29, null]],
-[32, ["storein", 0], 440, 140, [46, 33, 34, 11]],
-[33, ["string", "phrase"], 508, 140, [32, null]],
-[34, ["string", ""], 508, 182, [32, null]],
-[35, "stack", 178, 342, [38, 36, 41]],
-[36, ["string", "get phrase"], 236, 342, [35, null]],
-[37, "chr", 598, 552, [27, 26]],
-[38, ["forever", 42], 160, 308, [39, 35, null]],
-[39, "speak", 160, 266, [0, 40, 38]],
-[40, ["string", "hello"], 218, 266, [39, null]],
-[41, ["userdefined", "pysamples/brain.py"], 178, 384, [35, 42, 44]],
-[42, "box", 236, 384, [41, 43, null]],
-[43, ["string", "phrase"], 291, 384, [42, null]],
-[44, "speak", 178, 426, [41, 45, null]],
-[45, "pop", 236, 426, [44, null]],
-[46, "print", 440, 98, [19, 47, 32]],
-[47, ["string", ""], 498, 98, [46, null]]]
diff --git a/samples/media-journal-stats.ta b/samples/media-journal-stats.ta
deleted file mode 100644
index 37309c5..0000000
--- a/samples/media-journal-stats.ta
+++ /dev/null
@@ -1,53 +0,0 @@
-[[0, ["start", 2.0], 401, 0, [null, 1]],
-[1, ["userdefined", "pysamples/journal-stats.py"], 401, 46, [0, 2, 6]],
-[2, ["number", 100], 459, 46, [1, null]],
-[3, "penup", 401, 296, [44, 5]],
-[4, "pendown", 401, 422, [5, 11]],
-[5, ["setxy2", 0], 401, 338, [3, 8, 29, 4]],
-[6, ["storein", 0], 401, 88, [1, 7, 49, 51]],
-[7, ["string", "scale"], 469, 88, [6, null]],
-[8, "leftpos", 459, 338, [5, null]],
-[9, "toppos", 513, 380, [29, null]],
-[10, "forward", 67, 96, [25, 16, 17]],
-[11, ["until", 0], 401, 464, [4, 12, 42, null]],
-[12, "isheapempty2", 457, 480, [11, null]],
-[13, "pop", 192, 96, [16, null]],
-[14, "box", 192, 138, [16, 15, null]],
-[15, ["string", "scale"], 247, 138, [14, null]],
-[16, ["product2", 0], 138, 96, [10, 13, 14]],
-[17, ["vspace", 0], 67, 138, [10, 27]],
-[18, ["setxy2", 0], 67, 514, [23, 19, 20, 24]],
-[19, "leftpos", 125, 514, [18, null]],
-[20, "ycor", 125, 556, [18, null]],
-[21, "show", 67, 430, [39, 22, 23]],
-[22, "pop", 125, 430, [21, null]],
-[23, "penup", 67, 472, [21, 18]],
-[24, "pendown", 67, 598, [18, null]],
-[25, "seth", 67, 54, [40, 26, 10]],
-[26, ["number", 90], 166, 54, [25, null]],
-[27, "seth", 67, 180, [17, 28, 38]],
-[28, ["number", 0], 166, 180, [27, null]],
-[29, ["minus2", 0], 459, 380, [5, 9, 30]],
-[30, ["number", 30], 537, 422, [29, null]],
-[31, ["setxy2", 20], 67, 264, [38, 35, 37, 39]],
-[32, ["number", 20], 179, 306, [35, null]],
-[33, ["number", -30], 179, 388, [37, null]],
-[34, "xcor", 179, 264, [35, null]],
-[35, ["plus2", 0], 125, 264, [31, 34, 32]],
-[36, "ycor", 179, 346, [37, null]],
-[37, ["plus2", 0], 125, 346, [31, 36, 33]],
-[38, "penup", 67, 222, [27, 31]],
-[39, "pendown", 67, 388, [31, 21]],
-[40, "hat", 67, 0, [null, 41, 25]],
-[41, ["string", "action"], 125, 12, [40, null]],
-[42, "stack", 419, 530, [11, 43, null]],
-[43, ["string", "action"], 477, 530, [42, null]],
-[44, "setpensize", 401, 254, [51, 45, 3]],
-[45, ["number", 20], 503, 254, [44, null]],
-[46, ["division2", 0], 523, 130, [49, 47, 48]],
-[47, "pop", 577, 130, [46, null]],
-[48, "width", 601, 172, [46, null]],
-[49, ["product2", 20], 469, 130, [6, 46, 50]],
-[50, ["number", 0.15], 523, 212, [49, null]],
-[51, ["vspace", 20], 401, 172, [6, 44]]]
-
diff --git a/samples/media-learning-experiences.ta b/samples/media-learning-experiences.ta
deleted file mode 100644
index 7834e90..0000000
--- a/samples/media-learning-experiences.ta
+++ /dev/null
@@ -1,256 +0,0 @@
-[[0, "hat", 657, 82, [null, 5, 110]],
-[1, "stack1", 207, 976, [250, 252]],
-[2, "stack1", 443, 669, [96, 98]],
-[3, "stack1", 443, 745, [77, 79]],
-[4, "stack1", 443, 821, [58, 60]],
-[5, ["string", "B"], 715, 90, [0, null]],
-[6, ["start", 2.0], 207, 76, [null, 254]],
-[7, "stack1", 443, 897, [39, 41]],
-[8, ["string", "name"], 265, 446, [200, null]],
-[9, "stack", 207, 278, [211, 10, 11]],
-[10, ["string", "A"], 265, 278, [9, null]],
-[11, "stack", 207, 320, [9, 12, 214]],
-[12, ["string", "B"], 265, 320, [11, null]],
-[13, ["string", "personal growth"], 265, 606, [222, null]],
-[14, ["string", "work habits"], 265, 682, [242, null]],
-[15, "hat", 443, 81, [null, 16, 80]],
-[16, ["string", "A"], 501, 89, [15, null]],
-[17, ["string", "art"], 501, 375, [88, null]],
-[18, ["string", "math"], 501, 451, [69, null]],
-[19, ["string", "music"], 501, 527, [50, null]],
-[20, ["string", "physical ed."], 501, 603, [31, null]],
-[21, "hat1", 880, 71, [null, 99]],
-[22, "clean", 993, 283, [102, 106]],
-[23, "sandwichtop_no_arm_no_label", 425, 359, [60, 24]],
-[24, "penup", 443, 393, [23, 25]],
-[25, ["setxy2", 0], 443, 435, [24, 26, 27, 28]],
-[26, "titlex", 501, 435, [25, null]],
-[27, "titley", 501, 477, [25, null]],
-[28, "pendown", 443, 519, [25, 29]],
-[29, "setscale", 443, 561, [28, 30, 31]],
-[30, ["number", 100], 520, 561, [29, null]],
-[31, "show", 443, 603, [29, 20, 32]],
-[32, "penup", 443, 645, [31, 33]],
-[33, ["setxy2", 0], 443, 687, [32, 34, 35, 36]],
-[34, "leftx", 501, 687, [33, null]],
-[35, "topy", 501, 729, [33, null]],
-[36, "pendown", 443, 771, [33, 37]],
-[37, "setscale", 443, 813, [36, 38, 39]],
-[38, ["number", 90], 520, 813, [37, null]],
-[39, "showaligned", 443, 855, [37, 40, 7]],
-[40, ["journal", null], 553, 855, [39, null]],
-[41, ["sandwichcollapsed", 1], 443, 393, [7, null]],
-[42, "sandwichtop_no_arm_no_label", 425, 283, [79, 43]],
-[43, "penup", 443, 317, [42, 44]],
-[44, ["setxy2", 0], 443, 359, [43, 45, 46, 47]],
-[45, "titlex", 501, 359, [44, null]],
-[46, "titley", 501, 401, [44, null]],
-[47, "pendown", 443, 443, [44, 48]],
-[48, "setscale", 443, 485, [47, 49, 50]],
-[49, ["number", 100], 520, 485, [48, null]],
-[50, "show", 443, 527, [48, 19, 51]],
-[51, "penup", 443, 569, [50, 52]],
-[52, ["setxy2", 0], 443, 611, [51, 53, 54, 55]],
-[53, "leftx", 501, 611, [52, null]],
-[54, "topy", 501, 653, [52, null]],
-[55, "pendown", 443, 695, [52, 56]],
-[56, "setscale", 443, 737, [55, 57, 58]],
-[57, ["number", 90], 520, 737, [56, null]],
-[58, "showaligned", 443, 779, [56, 59, 4]],
-[59, ["journal", null], 553, 779, [58, null]],
-[60, ["sandwichcollapsed", 1], 443, 317, [4, 23]],
-[61, "sandwichtop_no_arm_no_label", 425, 207, [98, 62]],
-[62, "penup", 443, 241, [61, 63]],
-[63, ["setxy2", 0], 443, 283, [62, 64, 65, 66]],
-[64, "titlex", 501, 283, [63, null]],
-[65, "titley", 501, 325, [63, null]],
-[66, "pendown", 443, 367, [63, 67]],
-[67, "setscale", 443, 409, [66, 68, 69]],
-[68, ["number", 100], 520, 409, [67, null]],
-[69, "show", 443, 451, [67, 18, 70]],
-[70, "penup", 443, 493, [69, 71]],
-[71, ["setxy2", 0], 443, 535, [70, 72, 73, 74]],
-[72, "leftx", 501, 535, [71, null]],
-[73, "topy", 501, 577, [71, null]],
-[74, "pendown", 443, 619, [71, 75]],
-[75, "setscale", 443, 661, [74, 76, 77]],
-[76, ["number", 90], 520, 661, [75, null]],
-[77, "showaligned", 443, 703, [75, 78, 3]],
-[78, ["journal", null], 553, 703, [77, null]],
-[79, ["sandwichcollapsed", 1], 443, 241, [3, 42]],
-[80, "sandwichtop_no_arm_no_label", 425, 131, [15, 81]],
-[81, "penup", 443, 165, [80, 82]],
-[82, ["setxy2", 0], 443, 207, [81, 83, 84, 85]],
-[83, "titlex", 501, 207, [82, null]],
-[84, "titley", 501, 249, [82, null]],
-[85, "pendown", 443, 291, [82, 86]],
-[86, "setscale", 443, 333, [85, 87, 88]],
-[87, ["number", 100], 520, 333, [86, null]],
-[88, "show", 443, 375, [86, 17, 89]],
-[89, "penup", 443, 417, [88, 90]],
-[90, ["setxy2", 0], 443, 459, [89, 91, 92, 93]],
-[91, "leftx", 501, 459, [90, null]],
-[92, "topy", 501, 501, [90, null]],
-[93, "pendown", 443, 543, [90, 94]],
-[94, "setscale", 443, 585, [93, 95, 96]],
-[95, ["number", 90], 520, 585, [94, null]],
-[96, "showaligned", 443, 627, [94, 97, 2]],
-[97, ["journal", null], 553, 627, [96, null]],
-[98, ["sandwichcollapsed", 1], 443, 165, [2, 61]],
-[99, "forever", 880, 113, [21, 100, null]],
-[100, "kbinput", 941, 131, [99, 101]],
-[101, ["vspace", 0], 941, 173, [100, 102]],
-[102, "if", 941, 215, [101, 103, 22, 107]],
-[103, ["greater2", 0], 979, 181, [102, 104, 105, null]],
-[104, "keyboard", 1025, 181, [103, null]],
-[105, ["number", 0], 1025, 223, [103, null]],
-[106, "stopstack", 993, 325, [22, null]],
-[107, ["vspace", 20], 941, 301, [102, 108]],
-[108, "wait", 941, 383, [107, 109, null]],
-[109, ["number", 1], 999, 383, [108, null]],
-[110, "sandwichtop_no_arm_no_label", 639, 132, [0, 111]],
-[111, "penup", 657, 166, [110, 112]],
-[112, ["setxy2", 0], 657, 208, [111, 113, 114, 115]],
-[113, "titlex", 715, 208, [112, null]],
-[114, "titley", 715, 250, [112, null]],
-[115, "pendown", 657, 292, [112, 116]],
-[116, "setscale", 657, 334, [115, 117, 118]],
-[117, ["number", 100], 734, 334, [116, null]],
-[118, "show", 657, 376, [116, 119, 120]],
-[119, ["string", "reading"], 715, 376, [118, null]],
-[120, "penup", 657, 418, [118, 121]],
-[121, ["setxy2", 0], 657, 460, [120, 122, 123, 124]],
-[122, "leftx", 715, 460, [121, null]],
-[123, "topy", 715, 502, [121, null]],
-[124, "pendown", 657, 544, [121, 125]],
-[125, "setscale", 657, 586, [124, 126, 127]],
-[126, ["number", 90], 734, 586, [125, null]],
-[127, "showaligned", 657, 628, [125, 128, 129]],
-[128, ["journal", null], 767, 628, [127, null]],
-[129, "stack1", 657, 670, [127, 130]],
-[130, ["sandwichcollapsed", 1], 657, 166, [129, 131]],
-[131, "sandwichtop_no_arm_no_label", 639, 208, [130, 132]],
-[132, "penup", 657, 242, [131, 133]],
-[133, ["setxy2", 0], 657, 284, [132, 134, 135, 136]],
-[134, "titlex", 715, 284, [133, null]],
-[135, "titley", 715, 326, [133, null]],
-[136, "pendown", 657, 368, [133, 137]],
-[137, "setscale", 657, 410, [136, 138, 139]],
-[138, ["number", 100], 734, 410, [137, null]],
-[139, "show", 657, 452, [137, 140, 141]],
-[140, ["string", "science"], 715, 452, [139, null]],
-[141, "penup", 657, 494, [139, 142]],
-[142, ["setxy2", 0], 657, 536, [141, 143, 144, 145]],
-[143, "leftx", 715, 536, [142, null]],
-[144, "topy", 715, 578, [142, null]],
-[145, "pendown", 657, 620, [142, 146]],
-[146, "setscale", 657, 662, [145, 147, 148]],
-[147, ["number", 90], 734, 662, [146, null]],
-[148, "showaligned", 657, 704, [146, 149, 150]],
-[149, ["journal", null], 767, 704, [148, null]],
-[150, "stack1", 657, 746, [148, 151]],
-[151, ["sandwichcollapsed", 1], 657, 242, [150, 152]],
-[152, "sandwichtop_no_arm_no_label", 639, 284, [151, 153]],
-[153, "penup", 657, 318, [152, 154]],
-[154, ["setxy2", 0], 657, 360, [153, 155, 156, 157]],
-[155, "titlex", 715, 360, [154, null]],
-[156, "titley", 715, 402, [154, null]],
-[157, "pendown", 657, 444, [154, 158]],
-[158, "setscale", 657, 486, [157, 159, 160]],
-[159, ["number", 100], 734, 486, [158, null]],
-[160, "show", 657, 528, [158, 161, 162]],
-[161, ["string", "social science"], 715, 528, [160, null]],
-[162, "penup", 657, 570, [160, 163]],
-[163, ["setxy2", 0], 657, 612, [162, 164, 165, 166]],
-[164, "leftx", 715, 612, [163, null]],
-[165, "topy", 715, 654, [163, null]],
-[166, "pendown", 657, 696, [163, 167]],
-[167, "setscale", 657, 738, [166, 168, 169]],
-[168, ["number", 90], 734, 738, [167, null]],
-[169, "showaligned", 657, 780, [167, 170, 171]],
-[170, ["journal", null], 767, 780, [169, null]],
-[171, "stack1", 657, 822, [169, 172]],
-[172, ["sandwichcollapsed", 1], 657, 318, [171, 173]],
-[173, "sandwichtop_no_arm_no_label", 639, 360, [172, 174]],
-[174, "penup", 657, 394, [173, 175]],
-[175, ["setxy2", 0], 657, 436, [174, 176, 177, 178]],
-[176, "titlex", 715, 436, [175, null]],
-[177, "titley", 715, 478, [175, null]],
-[178, "pendown", 657, 520, [175, 179]],
-[179, "setscale", 657, 562, [178, 180, 181]],
-[180, ["number", 100], 734, 562, [179, null]],
-[181, "show", 657, 604, [179, 182, 183]],
-[182, ["string", "writing"], 715, 604, [181, null]],
-[183, "penup", 657, 646, [181, 184]],
-[184, ["setxy2", 0], 657, 688, [183, 185, 186, 187]],
-[185, "leftx", 715, 688, [184, null]],
-[186, "topy", 715, 730, [184, null]],
-[187, "pendown", 657, 772, [184, 188]],
-[188, "setscale", 657, 814, [187, 189, 190]],
-[189, ["number", 90], 734, 814, [188, null]],
-[190, "showaligned", 657, 856, [188, 191, 212]],
-[191, ["journal", null], 767, 856, [190, null]],
-[192, "sandwichtop_no_arm_no_label", 189, 202, [253, 193]],
-[193, "penup", 207, 236, [192, 194]],
-[194, ["setxy2", 0], 207, 278, [193, 195, 196, 197]],
-[195, "titlex", 265, 278, [194, null]],
-[196, "titley", 265, 320, [194, null]],
-[197, "pendown", 207, 362, [194, 198]],
-[198, "setscale", 207, 404, [197, 199, 200]],
-[199, ["number", 100], 284, 404, [198, null]],
-[200, "show", 207, 446, [198, 8, 201]],
-[201, "penup", 207, 488, [200, 202]],
-[202, ["setxy2", 0], 207, 530, [201, 203, 204, 205]],
-[203, "leftx", 265, 530, [202, null]],
-[204, "topy", 265, 572, [202, null]],
-[205, "pendown", 207, 614, [202, 206]],
-[206, "setscale", 207, 656, [205, 207, 208]],
-[207, ["number", 90], 284, 656, [206, null]],
-[208, "showaligned", 207, 698, [206, 209, 210]],
-[209, ["journal", null], 317, 698, [208, null]],
-[210, "stack1", 207, 740, [208, 211]],
-[211, ["sandwichcollapsed", 1], 207, 236, [210, 9]],
-[212, "stack1", 657, 898, [190, 213]],
-[213, ["sandwichcollapsed", 1], 657, 394, [212, null]],
-[214, "sandwichtop_no_arm_no_label", 189, 362, [11, 215]],
-[215, "penup", 207, 396, [214, 216]],
-[216, ["setxy2", 0], 207, 438, [215, 217, 218, 219]],
-[217, "titlex", 265, 438, [216, null]],
-[218, "titley", 265, 480, [216, null]],
-[219, "pendown", 207, 522, [216, 220]],
-[220, "setscale", 207, 564, [219, 221, 222]],
-[221, ["number", 100], 284, 564, [220, null]],
-[222, "show", 207, 606, [220, 13, 223]],
-[223, "penup", 207, 648, [222, 224]],
-[224, ["setxy2", 0], 207, 690, [223, 225, 226, 227]],
-[225, "leftx", 265, 690, [224, null]],
-[226, "topy", 265, 732, [224, null]],
-[227, "pendown", 207, 774, [224, 228]],
-[228, "setscale", 207, 816, [227, 229, 230]],
-[229, ["number", 90], 284, 816, [228, null]],
-[230, "showaligned", 207, 858, [228, 231, 232]],
-[231, ["journal", null], 317, 858, [230, null]],
-[232, "stack1", 207, 900, [230, 233]],
-[233, ["sandwichcollapsed", 1], 207, 396, [232, 234]],
-[234, "sandwichtop_no_arm_no_label", 189, 438, [233, 235]],
-[235, "penup", 207, 472, [234, 236]],
-[236, ["setxy2", 0], 207, 514, [235, 237, 238, 239]],
-[237, "titlex", 265, 514, [236, null]],
-[238, "titley", 265, 556, [236, null]],
-[239, "pendown", 207, 598, [236, 240]],
-[240, "setscale", 207, 640, [239, 241, 242]],
-[241, ["number", 100], 284, 640, [240, null]],
-[242, "show", 207, 682, [240, 14, 243]],
-[243, "penup", 207, 724, [242, 244]],
-[244, ["setxy2", 0], 207, 766, [243, 245, 246, 247]],
-[245, "leftx", 265, 766, [244, null]],
-[246, "topy", 265, 808, [244, null]],
-[247, "pendown", 207, 850, [244, 248]],
-[248, "setscale", 207, 892, [247, 249, 250]],
-[249, ["number", 90], 284, 892, [248, null]],
-[250, "showaligned", 207, 934, [248, 251, 1]],
-[251, ["journal", null], 317, 934, [250, null]],
-[252, ["sandwichcollapsed", 1], 207, 472, [1, 255]],
-[253, "clean", 207, 160, [254, 192]],
-[254, "hideblocks", 207, 118, [6, 253]],
-[255, "showblocks", 207, 514, [252, null]]] \ No newline at end of file
diff --git a/samples/media-music.ta b/samples/media-music.ta
deleted file mode 100644
index 13d952c..0000000
--- a/samples/media-music.ta
+++ /dev/null
@@ -1,179 +0,0 @@
-[[0, ["start", 2.0], 0, 0, [null, 11]],
-[1, "until", 740, 544, [9, 2, 5, null]],
-[2, ["greater2", 0], 778, 510, [1, 3, 4, null]],
-[3, "keyboard", 824, 510, [2, null]],
-[4, ["number", 0], 848, 552, [2, null]],
-[5, "wait", 792, 612, [1, 6, 7]],
-[6, ["number", 0.1], 850, 612, [5, null]],
-[7, "kbinput", 792, 654, [5, null]],
-[8, "forever", 0, 84, [11, 15, null]],
-[9, ["vspace", 0], 740, 502, [14, 1]],
-[10, "hat1", 740, 0, [null, 19]],
-[11, "stack1", 0, 42, [0, 8]],
-[12, "sinewave", 113, 502, [176, 69, 51, 13, 56]],
-[13, ["number", 0.33], 193, 586, [12, null]],
-[14, "hat2", 740, 460, [null, 9]],
-[15, "stack2", 61, 102, [8, 74]],
-[16, "repeat", 740, 84, [19, 17, 24, 18]],
-[17, ["number", 256], 791, 84, [16, null]],
-[18, ["vspace", 40], 740, 162, [16, 28]],
-[19, "storeinbox1", 740, 42, [10, 20, 16]],
-[20, ["number", 0], 858, 42, [19, null]],
-[21, "box1", 977, 228, [27, null]],
-[22, "storeinbox1", 805, 228, [24, 27, null]],
-[23, ["number", 1], 977, 270, [27, null]],
-[24, ["storein", 0], 805, 144, [16, 60, 25, 22]],
-[25, ["number", 0], 873, 186, [24, null]],
-[26, "box1", 927, 144, [60, null]],
-[27, ["plus2", 0], 923, 228, [22, 21, 23]],
-[28, "stack", 740, 284, [18, 29, 30]],
-[29, ["string", "12345678"], 798, 284, [28, null]],
-[30, "stack", 740, 326, [28, 31, 32]],
-[31, ["string", "qwertyui"], 798, 326, [30, null]],
-[32, "stack", 740, 368, [30, 33, 34]],
-[33, ["string", "asdfghjk"], 798, 368, [32, null]],
-[34, "stack", 740, 410, [32, 35, null]],
-[35, ["string", "zxcvbnm,"], 798, 410, [34, null]],
-[36, "hat", 480, 160, [null, 37, 124]],
-[37, ["string", "qwertyui"], 538, 168, [36, null]],
-[38, "hat", 480, 240, [null, 39, 150]],
-[39, ["string", "12345678"], 538, 248, [38, null]],
-[40, "hat", 480, 80, [null, 41, 98]],
-[41, ["string", "asdfghjk"], 538, 88, [40, null]],
-[42, "hat", 480, 0, [null, 43, 44]],
-[43, ["string", "zxcvbnm,"], 538, 8, [42, null]],
-[44, "sandwichtop_no_arm_no_label", 462, 50, [42, 71]],
-[45, ["product2", 0], 327, 544, [51, 46, 47]],
-[46, ["number", 10000], 381, 544, [45, null]],
-[47, ["division2", 0], 381, 586, [45, 48, 68]],
-[48, ["number", 2093], 435, 586, [47, null]],
-[49, "if", 61, 392, [50, 52, 176, null]],
-[50, ["vspace", 40], 61, 270, [66, 49]],
-[51, ["identity2", 40], 193, 544, [12, 45]],
-[52, ["greater2", 0], 99, 358, [49, 70, 53, null]],
-[53, ["number", 0], 169, 400, [52, null]],
-[54, "keyboard", 368, 312, [59, null]],
-[55, "box", 259, 312, [64, 59, null]],
-[56, "print", 113, 628, [12, 67, 57]],
-[57, "wait", 113, 670, [56, 58, null]],
-[58, ["number", 0.33], 171, 670, [57, null]],
-[59, "chr", 314, 312, [55, 54]],
-[60, "chr", 873, 144, [24, 26]],
-[61, ["number", 1.059463094], 259, 270, [64, null]],
-[62, "comment", 61, 186, [74, 63, 66]],
-[63, ["string", "2^^(1/12) is factor between half-steps"], 144, 186, [62, null]],
-[64, ["myfunc2arg", 0], 179, 228, [66, 65, 61, 55, null]],
-[65, ["string", "130.81 * pow(x, y)"], 259, 228, [64, null]],
-[66, "storeinbox2", 61, 228, [62, 64, 50]],
-[67, "box2", 171, 628, [56, null]],
-[68, "box2", 459, 628, [47, null]],
-[69, "box2", 193, 502, [12, null]],
-[70, "box2", 145, 358, [52, null]],
-[71, ["storein", 0], 480, 84, [44, 72, 73, 76]],
-[72, ["string", "z"], 548, 84, [71, null]],
-[73, ["number", 0], 548, 126, [71, null]],
-[74, "comment", 61, 144, [15, 75, 62]],
-[75, ["string", "130.81 Hz is Low C"], 144, 144, [74, null]],
-[76, ["storein", 0], 480, 168, [71, 77, 78, 79]],
-[77, ["string", "x"], 548, 168, [76, null]],
-[78, ["number", 2], 548, 210, [76, null]],
-[79, ["storein", 0], 480, 252, [76, 80, 81, 82]],
-[80, ["string", "c"], 548, 252, [79, null]],
-[81, ["number", 4], 548, 294, [79, null]],
-[82, ["storein", 0], 480, 336, [79, 83, 84, 85]],
-[83, ["string", "v"], 548, 336, [82, null]],
-[84, ["number", 5], 548, 378, [82, null]],
-[85, ["storein", 0], 480, 420, [82, 86, 87, 88]],
-[86, ["string", "b"], 548, 420, [85, null]],
-[87, ["number", 7], 548, 462, [85, null]],
-[88, ["storein", 0], 480, 504, [85, 89, 90, 91]],
-[89, ["string", "n"], 548, 504, [88, null]],
-[90, ["number", 9], 548, 546, [88, null]],
-[91, ["storein", 0], 480, 588, [88, 92, 93, 94]],
-[92, ["string", "m"], 548, 588, [91, null]],
-[93, ["number", 11], 548, 630, [91, null]],
-[94, ["storein", 0], 480, 672, [91, 95, 96, 97]],
-[95, ["string", ","], 548, 672, [94, null]],
-[96, ["number", 12], 548, 714, [94, null]],
-[97, ["sandwichcollapsed", 1], 480, 84, [94, null]],
-[98, "sandwichtop_no_arm_no_label", 462, 130, [40, 99]],
-[99, ["storein", 0], 480, 164, [98, 100, 101, 102]],
-[100, ["string", "a"], 548, 164, [99, null]],
-[101, ["number", 12], 548, 206, [99, null]],
-[102, ["storein", 0], 480, 248, [99, 103, 104, 105]],
-[103, ["string", "s"], 548, 248, [102, null]],
-[104, ["number", 14], 548, 290, [102, null]],
-[105, ["storein", 0], 480, 332, [102, 106, 107, 108]],
-[106, ["string", "d"], 548, 332, [105, null]],
-[107, ["number", 16], 548, 374, [105, null]],
-[108, ["storein", 0], 480, 416, [105, 109, 110, 111]],
-[109, ["string", "f"], 548, 416, [108, null]],
-[110, ["number", 17], 548, 458, [108, null]],
-[111, ["storein", 0], 480, 500, [108, 112, 113, 114]],
-[112, ["string", "g"], 548, 500, [111, null]],
-[113, ["number", 19], 548, 542, [111, null]],
-[114, ["storein", 0], 480, 584, [111, 115, 116, 117]],
-[115, ["string", "h"], 548, 584, [114, null]],
-[116, ["number", 21], 548, 626, [114, null]],
-[117, ["storein", 0], 480, 668, [114, 118, 119, 120]],
-[118, ["string", "j"], 548, 668, [117, null]],
-[119, ["number", 23], 548, 710, [117, null]],
-[120, ["storein", 0], 480, 752, [117, 121, 122, 123]],
-[121, ["string", "k"], 548, 752, [120, null]],
-[122, ["number", 24], 548, 794, [120, null]],
-[123, ["sandwichcollapsed", 1], 480, 164, [120, null]],
-[124, "sandwichtop_no_arm_no_label", 462, 210, [36, 125]],
-[125, ["storein", 0], 480, 244, [124, 126, 127, 128]],
-[126, ["string", "q"], 548, 244, [125, null]],
-[127, ["number", 24], 548, 286, [125, null]],
-[128, ["storein", 0], 480, 328, [125, 129, 130, 131]],
-[129, ["string", "w"], 548, 328, [128, null]],
-[130, ["number", 26], 548, 370, [128, null]],
-[131, ["storein", 0], 480, 412, [128, 132, 133, 134]],
-[132, ["string", "e"], 548, 412, [131, null]],
-[133, ["number", 28], 548, 454, [131, null]],
-[134, ["storein", 0], 480, 496, [131, 135, 136, 137]],
-[135, ["string", "r"], 548, 496, [134, null]],
-[136, ["number", 29], 548, 538, [134, null]],
-[137, ["storein", 0], 480, 580, [134, 138, 139, 140]],
-[138, ["string", "t"], 548, 580, [137, null]],
-[139, ["number", 31], 548, 622, [137, null]],
-[140, ["storein", 0], 480, 664, [137, 141, 142, 143]],
-[141, ["string", "y"], 548, 664, [140, null]],
-[142, ["number", 33], 548, 706, [140, null]],
-[143, ["storein", 0], 480, 748, [140, 144, 145, 146]],
-[144, ["string", "u"], 548, 748, [143, null]],
-[145, ["number", 35], 548, 790, [143, null]],
-[146, ["storein", 0], 480, 832, [143, 147, 148, 149]],
-[147, ["string", "i"], 548, 832, [146, null]],
-[148, ["number", 36], 548, 874, [146, null]],
-[149, ["sandwichcollapsed", 1], 480, 244, [146, null]],
-[150, "sandwichtop_no_arm_no_label", 462, 290, [38, 151]],
-[151, ["storein", 0], 480, 324, [150, 152, 153, 154]],
-[152, ["string", "1"], 548, 324, [151, null]],
-[153, ["number", 36], 548, 366, [151, null]],
-[154, ["storein", 0], 480, 408, [151, 155, 156, 157]],
-[155, ["string", "2"], 548, 408, [154, null]],
-[156, ["number", 38], 548, 450, [154, null]],
-[157, ["storein", 0], 480, 492, [154, 158, 159, 160]],
-[158, ["string", "3"], 548, 492, [157, null]],
-[159, ["number", 40], 548, 534, [157, null]],
-[160, ["storein", 0], 480, 576, [157, 161, 162, 163]],
-[161, ["string", "4"], 548, 576, [160, null]],
-[162, ["number", 41], 548, 618, [160, null]],
-[163, ["storein", 0], 480, 660, [160, 164, 165, 166]],
-[164, ["string", "5"], 548, 660, [163, null]],
-[165, ["number", 43], 548, 702, [163, null]],
-[166, ["storein", 0], 480, 744, [163, 167, 168, 169]],
-[167, ["string", "6"], 548, 744, [166, null]],
-[168, ["number", 45], 548, 786, [166, null]],
-[169, ["storein", 0], 480, 828, [166, 170, 171, 172]],
-[170, ["string", "7"], 548, 828, [169, null]],
-[171, ["number", 47], 548, 870, [169, null]],
-[172, ["storein", 0], 480, 912, [169, 173, 174, 175]],
-[173, ["string", "8"], 548, 912, [172, null]],
-[174, ["number", 48], 548, 954, [172, null]],
-[175, ["sandwichcollapsed", 1], 480, 324, [172, null]],
-[176, "comment", 113, 460, [49, 177, 12]],
-[177, ["string", "normalize volume by frequency"], 196, 460, [176, null]]]
-
diff --git a/samples/media-que-como-por-que.ta b/samples/media-que-como-por-que.ta
deleted file mode 100644
index 386c415..0000000
--- a/samples/media-que-como-por-que.ta
+++ /dev/null
@@ -1,129 +0,0 @@
-[[0, ["start", 2.0], 224, 121, [null, 35]],
-[1, "clean", 224, 239, [9, 10]],
-[2, "wait", 224, 995, [32, 3, 34]],
-[3, ["number", 30], 282, 995, [2, null]],
-[4, ["string", "\u00bfQu\u00e9?"], 307, 163, [35, null]],
-[5, ["string", "\u00bfQu\u00e9?"], 282, 491, [17, null]],
-[6, ["string", "\u00bfC\u00f3mo?"], 307, 281, [36, null]],
-[7, ["string", "\u00bfPor qu\u00e9?"], 307, 517, [96, null]],
-[8, ["string", "\u00bfPara qui?"], 307, 399, [66, null]],
-[9, "sandwichtop_no_arm_no_label", 206, 205, [35, 1]],
-[10, "penup", 224, 281, [1, 11]],
-[11, ["setxy2", 0], 224, 323, [10, 12, 13, 14]],
-[12, "titlex", 282, 323, [11, null]],
-[13, "titley", 282, 365, [11, null]],
-[14, "pendown", 224, 407, [11, 15]],
-[15, "setscale", 224, 449, [14, 16, 17]],
-[16, ["number", 100], 301, 449, [15, null]],
-[17, "show", 224, 491, [15, 5, 18]],
-[18, "setscale", 224, 533, [17, 19, 20]],
-[19, ["number", 35], 301, 533, [18, null]],
-[20, "penup", 224, 575, [18, 21]],
-[21, ["setxy2", 0], 224, 617, [20, 22, 23, 24]],
-[22, "leftx", 282, 617, [21, null]],
-[23, "topy", 282, 659, [21, null]],
-[24, "pendown", 224, 701, [21, 25]],
-[25, "showaligned", 224, 743, [24, 26, 27]],
-[26, ["journal", null], 334, 743, [25, null]],
-[27, "penup", 224, 785, [25, 28]],
-[28, ["setxy2", 0], 224, 827, [27, 29, 30, 31]],
-[29, "rightx", 282, 827, [28, null]],
-[30, "topy", 282, 869, [28, null]],
-[31, "pendown", 224, 911, [28, 32]],
-[32, "showaligned", 224, 953, [31, 33, 2]],
-[33, ["description", null], 334, 953, [32, null]],
-[34, ["sandwichcollapsed", 1], 224, 239, [2, 36]],
-[35, "comment", 224, 163, [0, 4, 9]],
-[36, "comment", 224, 281, [34, 6, 37]],
-[37, "sandwichtop_no_arm_no_label", 206, 323, [36, 38]],
-[38, "clean", 224, 357, [37, 39]],
-[39, "penup", 224, 399, [38, 40]],
-[40, ["setxy2", 0], 224, 441, [39, 41, 42, 43]],
-[41, "titlex", 282, 441, [40, null]],
-[42, "titley", 282, 483, [40, null]],
-[43, "pendown", 224, 525, [40, 44]],
-[44, "setscale", 224, 567, [43, 45, 46]],
-[45, ["number", 100], 301, 567, [44, null]],
-[46, "show", 224, 609, [44, 126, 47]],
-[47, "setscale", 224, 651, [46, 48, 49]],
-[48, ["number", 35], 301, 651, [47, null]],
-[49, "penup", 224, 693, [47, 50]],
-[50, ["setxy2", 0], 224, 735, [49, 51, 52, 53]],
-[51, "leftx", 282, 735, [50, null]],
-[52, "topy", 282, 777, [50, null]],
-[53, "pendown", 224, 819, [50, 54]],
-[54, "showaligned", 224, 861, [53, 55, 56]],
-[55, ["journal", null], 334, 861, [54, null]],
-[56, "penup", 224, 903, [54, 57]],
-[57, ["setxy2", 0], 224, 945, [56, 58, 59, 60]],
-[58, "rightx", 282, 945, [57, null]],
-[59, "topy", 282, 987, [57, null]],
-[60, "pendown", 224, 1029, [57, 61]],
-[61, "showaligned", 224, 1071, [60, 62, 63]],
-[62, ["description", null], 334, 1071, [61, null]],
-[63, "wait", 224, 1113, [61, 64, 65]],
-[64, ["number", 30], 282, 1113, [63, null]],
-[65, ["sandwichcollapsed", 1], 224, 357, [63, 66]],
-[66, "comment", 224, 399, [65, 8, 67]],
-[67, "sandwichtop_no_arm_no_label", 206, 441, [66, 68]],
-[68, "clean", 224, 475, [67, 69]],
-[69, "penup", 224, 517, [68, 70]],
-[70, ["setxy2", 0], 224, 559, [69, 71, 72, 73]],
-[71, "titlex", 282, 559, [70, null]],
-[72, "titley", 282, 601, [70, null]],
-[73, "pendown", 224, 643, [70, 74]],
-[74, "setscale", 224, 685, [73, 75, 76]],
-[75, ["number", 100], 301, 685, [74, null]],
-[76, "show", 224, 727, [74, 127, 77]],
-[77, "setscale", 224, 769, [76, 78, 79]],
-[78, ["number", 35], 301, 769, [77, null]],
-[79, "penup", 224, 811, [77, 80]],
-[80, ["setxy2", 0], 224, 853, [79, 81, 82, 83]],
-[81, "leftx", 282, 853, [80, null]],
-[82, "topy", 282, 895, [80, null]],
-[83, "pendown", 224, 937, [80, 84]],
-[84, "showaligned", 224, 979, [83, 85, 86]],
-[85, ["journal", null], 334, 979, [84, null]],
-[86, "penup", 224, 1021, [84, 87]],
-[87, ["setxy2", 0], 224, 1063, [86, 88, 89, 90]],
-[88, "rightx", 282, 1063, [87, null]],
-[89, "topy", 282, 1105, [87, null]],
-[90, "pendown", 224, 1147, [87, 91]],
-[91, "showaligned", 224, 1189, [90, 92, 93]],
-[92, ["description", null], 334, 1189, [91, null]],
-[93, "wait", 224, 1231, [91, 94, 95]],
-[94, ["number", 30], 282, 1231, [93, null]],
-[95, ["sandwichcollapsed", 1], 224, 475, [93, 96]],
-[96, "comment", 224, 517, [95, 7, 97]],
-[97, "sandwichtop_no_arm_no_label", 206, 559, [96, 98]],
-[98, "clean", 224, 593, [97, 99]],
-[99, "penup", 224, 635, [98, 100]],
-[100, ["setxy2", 0], 224, 677, [99, 101, 102, 103]],
-[101, "titlex", 282, 677, [100, null]],
-[102, "titley", 282, 719, [100, null]],
-[103, "pendown", 224, 761, [100, 104]],
-[104, "setscale", 224, 803, [103, 105, 106]],
-[105, ["number", 100], 301, 803, [104, null]],
-[106, "show", 224, 845, [104, 128, 107]],
-[107, "setscale", 224, 887, [106, 108, 109]],
-[108, ["number", 35], 301, 887, [107, null]],
-[109, "penup", 224, 929, [107, 110]],
-[110, ["setxy2", 0], 224, 971, [109, 111, 112, 113]],
-[111, "leftx", 282, 971, [110, null]],
-[112, "topy", 282, 1013, [110, null]],
-[113, "pendown", 224, 1055, [110, 114]],
-[114, "showaligned", 224, 1097, [113, 115, 116]],
-[115, ["journal", null], 334, 1097, [114, null]],
-[116, "penup", 224, 1139, [114, 117]],
-[117, ["setxy2", 0], 224, 1181, [116, 118, 119, 120]],
-[118, "rightx", 282, 1181, [117, null]],
-[119, "topy", 282, 1223, [117, null]],
-[120, "pendown", 224, 1265, [117, 121]],
-[121, "showaligned", 224, 1307, [120, 122, 123]],
-[122, ["description", null], 334, 1307, [121, null]],
-[123, "wait", 224, 1349, [121, 124, 125]],
-[124, ["number", 30], 282, 1349, [123, null]],
-[125, ["sandwichcollapsed", 1], 224, 593, [123, null]],
-[126, ["string", "\u00bfC\u00f3mo?"], 282, 609, [46, null]],
-[127, ["string", "\u00bfPara qui?"], 282, 727, [76, null]],
-[128, ["string", "\u00bfPor qu\u00e9?"], 282, 845, [106, null]]] \ No newline at end of file
diff --git a/samples/media-scratch.ta b/samples/media-scratch.ta
deleted file mode 100644
index 379de29..0000000
--- a/samples/media-scratch.ta
+++ /dev/null
@@ -1,51 +0,0 @@
-[[0, ["start", 2.0], 460, 0, [null, 46]],
-[1, "skin", 478, 416, [28, 2, 7]],
-[2, ["journal", "./samples/images/turtle-a.png"], 673, 416, [1, null]],
-[3, "skin", 478, 626, [31, 4, null]],
-[4, ["journal", "./samples/images/turtle-b.png"], 673, 626, [3, null]],
-[5, "addturtle", 478, 248, [38, 6, 16]],
-[6, ["number", 1], 545, 248, [5, null]],
-[7, "addturtle", 478, 458, [1, 8, 36]],
-[8, ["number", 2], 545, 458, [7, null]],
-[9, "show", 478, 164, [11, 10, 38]],
-[10, ["journal", "./samples/images/Boston.png"], 550, 164, [9, null]],
-[11, "setscale", 478, 122, [37, 12, 9]],
-[12, ["number", 100], 568, 122, [11, null]],
-[13, ["setxy2", 20], 178, 320, [17, 15, 34, 24]],
-[14, "xcor", 293, 362, [15, null]],
-[15, ["plus2", 0], 239, 320, [13, 40, 14]],
-[16, "penup", 478, 290, [5, 28]],
-[17, "addturtle", 178, 278, [45, 18, 13]],
-[18, ["number", 1], 245, 278, [17, null]],
-[19, "addturtle", 178, 486, [24, 20, 21]],
-[20, ["number", 2], 245, 486, [19, null]],
-[21, ["setxy2", 20], 178, 528, [19, 22, 35, 26]],
-[22, ["plus2", 0], 239, 528, [21, 44, 23]],
-[23, "xcor", 293, 570, [22, null]],
-[24, "wait", 178, 444, [13, 25, 19]],
-[25, ["number", 0.5], 247, 444, [24, null]],
-[26, "wait", 178, 652, [21, 27, null]],
-[27, ["number", 0.25], 247, 652, [26, null]],
-[28, ["setxy2", 0], 478, 332, [16, 30, 29, 1]],
-[29, ["number", -100], 539, 374, [28, null]],
-[30, "leftpos", 539, 332, [28, null]],
-[31, ["setxy2", 0], 478, 542, [36, 32, 33, 3]],
-[32, "leftpos", 539, 542, [31, null]],
-[33, ["number", -100], 539, 584, [31, null]],
-[34, "ycor", 239, 402, [13, null]],
-[35, "ycor", 239, 610, [21, null]],
-[36, "penup", 478, 500, [7, 31]],
-[37, "clean", 478, 80, [46, 11]],
-[38, ["vspace", 0], 478, 206, [9, 5]],
-[39, ["repeat", 208], 160, 194, [47, 42, 45, null]],
-[40, ["number", 20.0], 293, 320, [15, null]],
-[41, "width", 274, 194, [42, null]],
-[42, ["division2", 0], 220, 194, [39, 41, 43]],
-[43, ["number", 20.0], 298, 236, [42, null]],
-[44, ["number", 20.0], 293, 528, [22, null]],
-[45, ["vspace", 0], 178, 236, [39, 17]],
-[46, ["sandwichclamp", 273], 460, 46, [0, 37, 49]],
-[47, "hat", 160, 140, [null, 48, 39]],
-[48, ["string", "scratch"], 219, 152, [47, null]],
-[49, "stack", 460, 686, [46, 50, null]],
-[50, ["string", "scratch"], 519, 686, [49, null]]]
diff --git a/samples/media-turtle-stats.ta b/samples/media-turtle-stats.ta
deleted file mode 100644
index 269b818..0000000
--- a/samples/media-turtle-stats.ta
+++ /dev/null
@@ -1,86 +0,0 @@
-[[0, ["start", 2.0], 534, 124, [null, 84]],
-[1, "pop", 602, 296, [2, null]],
-[2, ["storein", 0], 534, 254, [28, 3, 1, 22]],
-[3, ["string", "count"], 602, 254, [2, null]],
-[4, "box", 72, 186, [12, 5, null]],
-[5, ["string", "count"], 127, 186, [4, null]],
-[6, "leftpos", 592, 422, [7, null]],
-[7, ["setxy2", 0], 534, 422, [9, 6, 16, 10]],
-[8, "forward", 934, 364, [75, 81, 71]],
-[9, "penup", 534, 380, [22, 7]],
-[10, "pendown", 534, 506, [7, 26]],
-[11, ["setxy2", 20], 31, 312, [30, 14, 17, 31]],
-[12, ["repeat", 104], 13, 186, [24, 4, 51, null]],
-[13, "xcor", 143, 312, [14, null]],
-[14, ["plus2", 0], 89, 312, [11, 13, 21]],
-[15, "pop", 984, 214, [73, null]],
-[16, ["number", 0], 592, 464, [7, null]],
-[17, ["number", 0], 89, 394, [11, null]],
-[18, "box", 714, 380, [23, 19, null]],
-[19, ["string", "count"], 769, 380, [18, null]],
-[20, "width", 690, 338, [23, null]],
-[21, "pensize", 143, 354, [14, null]],
-[22, "setpensize", 534, 338, [2, 23, 9]],
-[23, ["division2", 0], 636, 338, [22, 20, 18]],
-[24, "hat", 13, 132, [null, 25, 12]],
-[25, ["string", "action"], 71, 144, [24, null]],
-[26, "stack", 534, 548, [10, 27, null]],
-[27, ["string", "action"], 592, 548, [26, null]],
-[28, ["userdefined", "pysamples/ta-stats.py"], 534, 212, [84, 29, 2]],
-[29, ["number", 100], 592, 212, [28, null]],
-[30, "penup", 31, 270, [51, 11]],
-[31, "pendown", 31, 436, [11, null]],
-[32, "setcolor", 291, 180, [49, 33, 55]],
-[33, "green", 368, 180, [32, null]],
-[34, "setcolor", 291, 264, [55, 35, 57]],
-[35, "cyan", 368, 264, [34, null]],
-[36, "setcolor", 291, 348, [57, 43, 59]],
-[37, "setcolor", 291, 432, [59, 44, 61]],
-[38, "setcolor", 291, 516, [61, 45, 63]],
-[39, "setcolor", 291, 600, [63, 46, 65]],
-[40, "setcolor", 291, 684, [65, 47, 67]],
-[41, "setcolor", 291, 768, [67, 48, 69]],
-[42, "forward", 934, 448, [71, 83, 72]],
-[43, "purple", 368, 348, [36, null]],
-[44, "orange", 368, 432, [37, null]],
-[45, "yellow", 368, 516, [38, null]],
-[46, "red", 368, 600, [39, null]],
-[47, "yellow", 368, 684, [40, null]],
-[48, "red", 368, 768, [41, null]],
-[49, "hat", 291, 126, [null, 50, 32]],
-[50, ["string", "plot"], 349, 138, [49, null]],
-[51, "stack", 31, 228, [12, 52, 30]],
-[52, ["string", "plot"], 89, 228, [51, null]],
-[53, "hat", 916, 118, [null, 54, 73]],
-[54, ["string", "offset"], 974, 130, [53, null]],
-[55, "stack", 291, 222, [32, 56, 34]],
-[56, ["string", "offset"], 349, 222, [55, null]],
-[57, "stack", 291, 306, [34, 58, 36]],
-[58, ["string", "offset"], 349, 306, [57, null]],
-[59, "stack", 291, 390, [36, 60, 37]],
-[60, ["string", "offset"], 349, 390, [59, null]],
-[61, "stack", 291, 474, [37, 62, 38]],
-[62, ["string", "offset"], 349, 474, [61, null]],
-[63, "stack", 291, 558, [38, 64, 39]],
-[64, ["string", "offset"], 349, 558, [63, null]],
-[65, "stack", 291, 642, [39, 66, 40]],
-[66, ["string", "offset"], 349, 642, [65, null]],
-[67, "stack", 291, 726, [40, 68, 41]],
-[68, ["string", "offset"], 349, 726, [67, null]],
-[69, "stack", 291, 810, [41, 70, null]],
-[70, ["string", "offset"], 349, 810, [69, null]],
-[71, "penup", 934, 406, [8, 42]],
-[72, "pendown", 934, 490, [42, null]],
-[73, ["storein", 0], 916, 172, [53, 74, 15, 80]],
-[74, ["string", "value"], 984, 172, [73, null]],
-[75, ["if", 63], 916, 298, [80, 76, 8, null]],
-[76, ["greater2", 0], 972, 264, [75, 78, 77, null]],
-[77, ["number", 0], 1042, 306, [76, null]],
-[78, "box", 1018, 264, [76, 79, null]],
-[79, ["string", "value"], 1073, 264, [78, null]],
-[80, ["vspace", 0], 916, 256, [73, 75]],
-[81, "box", 1005, 364, [8, 82, null]],
-[82, ["string", "value"], 1060, 364, [81, null]],
-[83, "pensize", 1005, 448, [42, null]],
-[84, "setshade", 534, 170, [0, 85, 28]],
-[85, ["number", 40.0], 619, 170, [84, null]]]
diff --git a/samples/media-what-how-why.ta b/samples/media-what-how-why.ta
deleted file mode 100644
index eef7f8e..0000000
--- a/samples/media-what-how-why.ta
+++ /dev/null
@@ -1,129 +0,0 @@
-[[0, ["start", 2.0], 271, 184, [null, 35]],
-[1, "clean", 271, 302, [9, 10]],
-[2, "wait", 271, 1058, [32, 3, 34]],
-[3, ["number", 30], 329, 1058, [2, null]],
-[4, ["string", "What?"], 354, 226, [35, null]],
-[5, ["string", "What?"], 329, 554, [17, null]],
-[6, ["string", "How?"], 354, 344, [36, null]],
-[7, ["string", "For whom?"], 354, 580, [96, null]],
-[8, ["string", "Why?"], 354, 462, [66, null]],
-[9, "sandwichtop_no_arm_no_label", 253, 268, [35, 1]],
-[10, "penup", 271, 344, [1, 11]],
-[11, ["setxy2", 0], 271, 386, [10, 12, 13, 14]],
-[12, "titlex", 329, 386, [11, null]],
-[13, "titley", 329, 428, [11, null]],
-[14, "pendown", 271, 470, [11, 15]],
-[15, "setscale", 271, 512, [14, 16, 17]],
-[16, ["number", 100], 348, 512, [15, null]],
-[17, "show", 271, 554, [15, 5, 18]],
-[18, "setscale", 271, 596, [17, 19, 20]],
-[19, ["number", 35], 348, 596, [18, null]],
-[20, "penup", 271, 638, [18, 21]],
-[21, ["setxy2", 0], 271, 680, [20, 22, 23, 24]],
-[22, "leftx", 329, 680, [21, null]],
-[23, "topy", 329, 722, [21, null]],
-[24, "pendown", 271, 764, [21, 25]],
-[25, "showaligned", 271, 806, [24, 26, 27]],
-[26, ["journal", null], 381, 806, [25, null]],
-[27, "penup", 271, 848, [25, 28]],
-[28, ["setxy2", 0], 271, 890, [27, 29, 30, 31]],
-[29, "rightx", 329, 890, [28, null]],
-[30, "topy", 329, 932, [28, null]],
-[31, "pendown", 271, 974, [28, 32]],
-[32, "showaligned", 271, 1016, [31, 33, 2]],
-[33, ["description", null], 381, 1016, [32, null]],
-[34, ["sandwichcollapsed", 1], 271, 302, [2, 36]],
-[35, "comment", 271, 226, [0, 4, 9]],
-[36, "comment", 271, 344, [34, 6, 37]],
-[37, "sandwichtop_no_arm_no_label", 253, 386, [36, 38]],
-[38, "clean", 271, 420, [37, 39]],
-[39, "penup", 271, 462, [38, 40]],
-[40, ["setxy2", 0], 271, 504, [39, 41, 42, 43]],
-[41, "titlex", 329, 504, [40, null]],
-[42, "titley", 329, 546, [40, null]],
-[43, "pendown", 271, 588, [40, 44]],
-[44, "setscale", 271, 630, [43, 45, 46]],
-[45, ["number", 100], 348, 630, [44, null]],
-[46, "show", 271, 672, [44, 126, 47]],
-[47, "setscale", 271, 714, [46, 48, 49]],
-[48, ["number", 35], 348, 714, [47, null]],
-[49, "penup", 271, 756, [47, 50]],
-[50, ["setxy2", 0], 271, 798, [49, 51, 52, 53]],
-[51, "leftx", 329, 798, [50, null]],
-[52, "topy", 329, 840, [50, null]],
-[53, "pendown", 271, 882, [50, 54]],
-[54, "showaligned", 271, 924, [53, 55, 56]],
-[55, ["journal", null], 381, 924, [54, null]],
-[56, "penup", 271, 966, [54, 57]],
-[57, ["setxy2", 0], 271, 1008, [56, 58, 59, 60]],
-[58, "rightx", 329, 1008, [57, null]],
-[59, "topy", 329, 1050, [57, null]],
-[60, "pendown", 271, 1092, [57, 61]],
-[61, "showaligned", 271, 1134, [60, 62, 63]],
-[62, ["description", null], 381, 1134, [61, null]],
-[63, "wait", 271, 1176, [61, 64, 65]],
-[64, ["number", 30], 329, 1176, [63, null]],
-[65, ["sandwichcollapsed", 1], 271, 420, [63, 66]],
-[66, "comment", 271, 462, [65, 8, 67]],
-[67, "sandwichtop_no_arm_no_label", 253, 504, [66, 68]],
-[68, "clean", 271, 538, [67, 69]],
-[69, "penup", 271, 580, [68, 70]],
-[70, ["setxy2", 0], 271, 622, [69, 71, 72, 73]],
-[71, "titlex", 329, 622, [70, null]],
-[72, "titley", 329, 664, [70, null]],
-[73, "pendown", 271, 706, [70, 74]],
-[74, "setscale", 271, 748, [73, 75, 76]],
-[75, ["number", 100], 348, 748, [74, null]],
-[76, "show", 271, 790, [74, 127, 77]],
-[77, "setscale", 271, 832, [76, 78, 79]],
-[78, ["number", 35], 348, 832, [77, null]],
-[79, "penup", 271, 874, [77, 80]],
-[80, ["setxy2", 0], 271, 916, [79, 81, 82, 83]],
-[81, "leftx", 329, 916, [80, null]],
-[82, "topy", 329, 958, [80, null]],
-[83, "pendown", 271, 1000, [80, 84]],
-[84, "showaligned", 271, 1042, [83, 85, 86]],
-[85, ["journal", null], 381, 1042, [84, null]],
-[86, "penup", 271, 1084, [84, 87]],
-[87, ["setxy2", 0], 271, 1126, [86, 88, 89, 90]],
-[88, "rightx", 329, 1126, [87, null]],
-[89, "topy", 329, 1168, [87, null]],
-[90, "pendown", 271, 1210, [87, 91]],
-[91, "showaligned", 271, 1252, [90, 92, 93]],
-[92, ["description", null], 381, 1252, [91, null]],
-[93, "wait", 271, 1294, [91, 94, 95]],
-[94, ["number", 30], 329, 1294, [93, null]],
-[95, ["sandwichcollapsed", 1], 271, 538, [93, 96]],
-[96, "comment", 271, 580, [95, 7, 97]],
-[97, "sandwichtop_no_arm_no_label", 253, 622, [96, 98]],
-[98, "clean", 271, 656, [97, 99]],
-[99, "penup", 271, 698, [98, 100]],
-[100, ["setxy2", 0], 271, 740, [99, 101, 102, 103]],
-[101, "titlex", 329, 740, [100, null]],
-[102, "titley", 329, 782, [100, null]],
-[103, "pendown", 271, 824, [100, 104]],
-[104, "setscale", 271, 866, [103, 105, 106]],
-[105, ["number", 100], 348, 866, [104, null]],
-[106, "show", 271, 908, [104, 128, 107]],
-[107, "setscale", 271, 950, [106, 108, 109]],
-[108, ["number", 35], 348, 950, [107, null]],
-[109, "penup", 271, 992, [107, 110]],
-[110, ["setxy2", 0], 271, 1034, [109, 111, 112, 113]],
-[111, "leftx", 329, 1034, [110, null]],
-[112, "topy", 329, 1076, [110, null]],
-[113, "pendown", 271, 1118, [110, 114]],
-[114, "showaligned", 271, 1160, [113, 115, 116]],
-[115, ["journal", null], 381, 1160, [114, null]],
-[116, "penup", 271, 1202, [114, 117]],
-[117, ["setxy2", 0], 271, 1244, [116, 118, 119, 120]],
-[118, "rightx", 329, 1244, [117, null]],
-[119, "topy", 329, 1286, [117, null]],
-[120, "pendown", 271, 1328, [117, 121]],
-[121, "showaligned", 271, 1370, [120, 122, 123]],
-[122, ["description", null], 381, 1370, [121, null]],
-[123, "wait", 271, 1412, [121, 124, 125]],
-[124, ["number", 30], 329, 1412, [123, null]],
-[125, ["sandwichcollapsed", 1], 271, 656, [123, null]],
-[126, ["string", "How?"], 329, 672, [46, null]],
-[127, ["string", "Why?"], 329, 790, [76, null]],
-[128, ["string", "For whom?"], 329, 908, [106, null]]] \ No newline at end of file
diff --git a/samples/sensors-accelerometer.ta b/samples/sensors-accelerometer.ta
deleted file mode 100644
index ba4475b..0000000
--- a/samples/sensors-accelerometer.ta
+++ /dev/null
@@ -1,41 +0,0 @@
-[[0, ["start", 2], 40, 140, [null, 14]],
-[1, ["greater2", 0], 114, 228, [10, 2, 8, null]],
-[2, "xcor", 160, 228, [1, null]],
-[3, ["setxy2", 0], 360, 312, [5, 9, 4, 6]],
-[4, ["number", 0], 418, 354, [3, null]],
-[5, "penup", 360, 270, [39, 3]],
-[6, "pendown", 360, 396, [3, null]],
-[7, "clean", 360, 186, [11, 39]],
-[8, "rightpos", 184, 270, [1, null]],
-[9, "leftpos", 418, 312, [3, null]],
-[10, ["until", 126], 58, 262, [12, 1, 19, 13]],
-[11, "hat1", 360, 140, [null, 7]],
-[12, ["forever", 189], 40, 228, [14, 10, null]],
-[13, "stack1", 58, 640, [10, null]],
-[14, "stack1", 40, 186, [0, 12]],
-[15, "setcolor", 76, 454, [31, 16, 33]],
-[16, "blue", 152, 454, [15, null]],
-[17, "red", 152, 538, [37, null]],
-[18, "setcolor", 76, 370, [19, 38, 31]],
-[19, "xyz", 76, 328, [10, 18]],
-[20, "penup", 702, 252, [27, 22]],
-[21, "pendown", 702, 418, [22, null]],
-[22, ["setxy2", 20], 702, 294, [20, 29, 23, 21]],
-[23, ["number", 0], 760, 376, [22, null]],
-[24, "xcor", 814, 294, [29, null]],
-[25, "hat", 702, 156, [null, 26, 27]],
-[26, ["string", "action"], 760, 168, [25, null]],
-[27, "forward", 702, 210, [25, 28, 20]],
-[28, "pop", 772, 210, [27, null]],
-[29, ["plus2", 0], 760, 294, [22, 24, 30]],
-[30, ["number", 1], 814, 336, [29, null]],
-[31, "stack", 76, 412, [18, 32, 15]],
-[32, ["string", "action"], 134, 412, [31, null]],
-[33, "stack", 76, 496, [15, 34, 37]],
-[34, ["string", "action"], 134, 496, [33, null]],
-[35, "stack", 76, 580, [37, 36, null]],
-[36, ["string", "action"], 134, 580, [35, null]],
-[37, "setcolor", 76, 538, [33, 17, 35]],
-[38, "green", 152, 370, [18, null]],
-[39, "setpensize", 360, 228, [7, 40, 5]],
-[40, ["number", 1], 462, 228, [39, null]]] \ No newline at end of file
diff --git a/samples/sensors-graph.ta b/samples/sensors-graph.ta
deleted file mode 100644
index 48b0359..0000000
--- a/samples/sensors-graph.ta
+++ /dev/null
@@ -1,35 +0,0 @@
-[[0, ["start", 2], 40, 140, [null, 21]],
-[1, ["setxy2", 20], 118, 254, [17, 7, 9, null]],
-[2, ["number", 1], 193, 282, [7, null]],
-[3, ["greater2", 0], 109, 186, [17, 4, 15, null]],
-[4, "xcor", 140, 186, [3, null]],
-[5, ["setxy2", 0], 540, 196, [11, 16, 6, 12]],
-[6, ["number", 0], 579, 224, [5, null]],
-[7, ["plus2", 0], 157, 254, [1, 8, 2]],
-[8, "xcor", 193, 254, [7, null]],
-[9, ["plus2", 0], 157, 309, [1, 10, 14]],
-[10, ["number", 0], 193, 309, [9, null]],
-[11, "penup", 540, 168, [29, 5]],
-[12, "pendown", 540, 252, [5, null]],
-[13, "clean", 360, 168, [18, 28]],
-[14, "sound", 193, 337, [9, null]],
-[15, "rightpos", 156, 214, [3, null]],
-[16, "leftpos", 579, 196, [5, null]],
-[17, "until", 83, 208, [19, 3, 1, 20]],
-[18, "hat1", 360, 140, [null, 13]],
-[19, "forever", 40, 196, [21, 17, null]],
-[20, "stack1", 83, 266, [17, null]],
-[21, "stack1", 40, 168, [0, 19]],
-[22, "seth", 360, 224, [28, 23, 24]],
-[23, ["number", 90], 399, 224, [22, null]],
-[24, "setcolor", 360, 252, [22, 25, 33]],
-[25, "blue", 415, 252, [24, null]],
-[26, "red", 415, 364, [27, null]],
-[27, "setcolor", 360, 364, [31, 26, null]],
-[28, "stack2", 360, 196, [13, 22]],
-[29, "hat2", 540, 140, [null, 11]],
-[30, "stack2", 360, 308, [33, 31]],
-[31, "seth", 360, 336, [30, 32, 27]],
-[32, ["number", 0], 399, 336, [31, null]],
-[33, "forward", 360, 280, [24, 34, 30]],
-[34, "width", 409, 280, [33, null]]]
diff --git a/samples/sensors-loudness-monitor.ta b/samples/sensors-loudness-monitor.ta
deleted file mode 100644
index 7bb0b5f..0000000
--- a/samples/sensors-loudness-monitor.ta
+++ /dev/null
@@ -1,74 +0,0 @@
-[[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]]]
diff --git a/samples/sensors-measure.ta b/samples/sensors-measure.ta
deleted file mode 100644
index 5c9c9fa..0000000
--- a/samples/sensors-measure.ta
+++ /dev/null
@@ -1,57 +0,0 @@
-[[0, ["start", 2.0], 744, 67, [null, 25]],
-[1, ["forever", 146], 744, 155, [25, 2, null]],
-[2, ["if", 0], 762, 189, [1, 4, 12, 55]],
-[3, "xcor", 888, 197, [4, null]],
-[4, ["less2", 0], 818, 155, [2, 5, 3, null]],
-[5, "rightpos", 864, 155, [4, null]],
-[6, "penup", 1035, 158, [23, 8]],
-[7, "pendown", 1035, 284, [8, null]],
-[8, ["setxy2", 0], 1035, 200, [6, 14, 9, 7]],
-[9, ["number", 0], 1093, 242, [8, null]],
-[10, "hat", 1035, 62, [null, 11, 23]],
-[11, ["string", "reset"], 1093, 74, [10, null]],
-[12, "stack", 780, 255, [2, 13, null]],
-[13, ["string", "reset"], 838, 255, [12, null]],
-[14, "leftpos", 1093, 200, [8, null]],
-[15, ["setxy2", 20], 762, 399, [29, 22, 21, null]],
-[16, "xcor", 874, 399, [22, null]],
-[17, "box", 874, 441, [22, 18, null]],
-[18, ["string", "offset"], 929, 441, [17, null]],
-[19, "box", 874, 523, [21, 20, null]],
-[20, ["string", "gain"], 929, 523, [19, null]],
-[21, ["product2", 0], 820, 481, [15, 24, 19]],
-[22, ["plus2", 0], 820, 399, [15, 16, 17]],
-[23, "clean", 1035, 116, [10, 6]],
-[24, "sound", 874, 481, [21, null]],
-[25, "stack", 744, 113, [0, 26, 1]],
-[26, ["string", "reset"], 802, 113, [25, null]],
-[27, "hat", 18, 380, [null, 28, 38]],
-[28, ["string", "calculate gain"], 76, 392, [27, null]],
-[29, "stack", 762, 357, [55, 30, 15]],
-[30, ["string", "calculate gain"], 820, 357, [29, null]],
-[31, "mousex", 597, 512, [44, null]],
-[32, "mousey", 248, 518, [43, null]],
-[33, "width", 651, 554, [45, null]],
-[34, "height", 302, 560, [41, null]],
-[35, ["storein", 0], 367, 428, [53, 39, 52, null]],
-[36, ["string", "gain"], 86, 434, [38, null]],
-[37, ["number", 10.0], 140, 476, [51, null]],
-[38, ["storein", 0], 18, 434, [27, 36, 51, null]],
-[39, ["string", "offset"], 435, 428, [35, null]],
-[40, ["number", 10.0], 489, 470, [52, null]],
-[41, ["division2", 0], 248, 560, [43, 34, 42]],
-[42, ["number", 2.0], 326, 602, [41, null]],
-[43, ["plus2", 0], 194, 518, [50, 32, 41]],
-[44, ["plus2", 0], 543, 512, [49, 31, 45]],
-[45, ["division2", 0], 597, 554, [44, 33, 46]],
-[46, ["number", 2.0], 675, 596, [45, null]],
-[47, "height", 218, 640, [50, null]],
-[48, "width", 567, 634, [49, null]],
-[49, ["division2", 40], 489, 512, [52, 44, 48]],
-[50, ["division2", 40], 140, 518, [51, 43, 47]],
-[51, ["product2", 0], 86, 476, [38, 37, 50]],
-[52, ["product2", 0], 435, 470, [35, 40, 49]],
-[53, "hat", 367, 374, [null, 54, 35]],
-[54, ["string", "calculate offset"], 425, 386, [53, null]],
-[55, "stack", 762, 315, [2, 56, 29]],
-[56, ["string", "calculate offset"], 820, 315, [55, null]]]
diff --git a/samples/sensors-psuedo-color.ta b/samples/sensors-psuedo-color.ta
deleted file mode 100644
index ab7284b..0000000
--- a/samples/sensors-psuedo-color.ta
+++ /dev/null
@@ -1,32 +0,0 @@
-[[0, ["start", 2.0], 165, 175, [null, 30]],
-[1, "show", 165, 385, [24, 2, 6]],
-[2, ["journal", "/tmp/turtlepic.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]],
-[6, ["vspace", 0], 165, 427, [1, 27]],
-[7, "penup", 165, 259, [30, 24]],
-[8, "repeat", 227, 737, [10, 9, 15, null]],
-[9, ["number", 150], 275, 737, [8, null]],
-[10, ["setxy2", 20], 227, 613, [4, 23, 11, 8]],
-[11, ["number", -300], 285, 695, [10, null]],
-[12, "forward", 289, 839, [15, 13, 14]],
-[13, ["number", 300], 360, 839, [12, null]],
-[14, "pendown", 289, 881, [12, 17]],
-[15, "setcolor", 289, 797, [8, 3, 12]],
-[16, ["number", 2], 339, 655, [23, null]],
-[17, "forward", 289, 923, [14, 18, 19]],
-[18, ["number", 2], 360, 923, [17, null]],
-[19, "penup", 289, 965, [17, 21]],
-[20, "xcor", 339, 613, [23, null]],
-[21, "back", 289, 1007, [19, 22, null]],
-[22, ["number", 300], 347, 1007, [21, null]],
-[23, ["plus2", 0], 285, 613, [10, 20, 16]],
-[24, ["setxy2", 0], 165, 301, [7, 25, 26, 1]],
-[25, ["number", 0], 223, 301, [24, null]],
-[26, ["number", -150], 223, 343, [24, null]],
-[27, ["setxy2", 0], 165, 469, [6, 28, 29, 4]],
-[28, ["number", -200], 223, 469, [27, null]],
-[29, ["number", -300], 223, 511, [27, null]],
-[30, "setpensize", 165, 217, [0, 31, 7]],
-[31, ["number", 2], 272, 217, [30, null]]]
diff --git a/samples/sensors-simple-paint.ta b/samples/sensors-simple-paint.ta
deleted file mode 100644
index 77a6311..0000000
--- a/samples/sensors-simple-paint.ta
+++ /dev/null
@@ -1,9 +0,0 @@
-[[0, "mousebutton2", 597, 155, [5, null]],
-[1, ["forever", 114], 523, 105, [8, 5, null]],
-[2, ["setxy2", 0], 541, 325, [5, 4, 3, null]],
-[3, "mousey", 599, 367, [2, null]],
-[4, "mousex", 599, 325, [2, null]],
-[5, ["ifelse", [0, 0]], 541, 139, [1, 0, 7, 6, 2]],
-[6, "penup", 559, 265, [5, null]],
-[7, "pendown", 559, 205, [5, null]],
-[8, ["start", 2.0], 523, 59, [null, 1]]]
diff --git a/samples/sensors-soundpaint.ta b/samples/sensors-soundpaint.ta
deleted file mode 100644
index 61f80d1..0000000
--- a/samples/sensors-soundpaint.ta
+++ /dev/null
@@ -1,14 +0,0 @@
-[[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]],
-[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]]]
diff --git a/samples/sensors-spectrum-analyzer.ta b/samples/sensors-spectrum-analyzer.ta
deleted file mode 100644
index bb850d3..0000000
--- a/samples/sensors-spectrum-analyzer.ta
+++ /dev/null
@@ -1,53 +0,0 @@
-[[0, ["start", 2.0], 114, 36, [null, 31]],
-[1, ["myfunc1arg", 0], 297, 138, [35, 2, 4, null]],
-[2, ["string", "int(x)"], 378, 138, [1, null]],
-[3, ["number", 100.0], 456, 222, [4, null]],
-[4, ["division2", 0], 378, 180, [1, 5, 3]],
-[5, "pitch", 432, 180, [4, null]],
-[6, "forever", 114, 120, [31, 35, null]],
-[7, "repeat", 644, 157, [10, 8, 16, 9]],
-[8, ["number", 30.0], 692, 157, [7, null]],
-[9, ["vspace", 0], 644, 235, [7, null]],
-[10, "storeinbox1", 644, 115, [30, 11, 7]],
-[11, ["number", 2.0], 763, 115, [10, null]],
-[12, "storeinbox1", 706, 631, [19, 15, null]],
-[13, ["number", 1.0], 879, 673, [15, null]],
-[14, "box1", 879, 631, [15, null]],
-[15, ["plus2", 0], 825, 631, [12, 14, 13]],
-[16, "addturtle", 706, 217, [7, 17, 45]],
-[17, "box1", 764, 217, [16, null]],
-[18, "penup", 706, 343, [44, 20]],
-[19, "pendown", 706, 589, [20, 12]],
-[20, ["setxy2", 60], 706, 385, [18, 27, 22, 19]],
-[21, ["number", 30.0], 950, 427, [26, null]],
-[22, ["number", -200.0], 764, 547, [20, null]],
-[23, "leftpos", 818, 507, [27, null]],
-[24, "width", 926, 385, [26, null]],
-[25, "box1", 980, 467, [42, null]],
-[26, ["division2", 0], 872, 385, [28, 24, 21]],
-[27, ["plus2", 40], 764, 385, [20, 28, 23]],
-[28, ["product2", 20], 818, 385, [27, 26, 52]],
-[29, "hat1", 644, 31, [null, 30]],
-[30, "clean", 644, 73, [29, 10]],
-[31, "stack1", 114, 78, [0, 6]],
-[32, "addturtle", 230, 450, [38, 36, 33]],
-[33, "forward", 230, 492, [32, 34, null]],
-[34, ["number", 1.0], 302, 492, [33, null]],
-[35, "storeinbox2", 178, 138, [6, 1, 39]],
-[36, "box2", 288, 450, [32, null]],
-[37, "box2", 308, 340, [41, null]],
-[38, "if", 178, 382, [39, 48, 32, null]],
-[39, ["vspace", 80], 178, 180, [35, 38]],
-[40, ["number", 1.0], 332, 382, [41, null]],
-[41, ["greater2", 0], 262, 340, [48, 37, 40, null]],
-[42, ["minus2", 0], 926, 467, [52, 25, 43]],
-[43, ["number", 1.0], 1004, 509, [42, null]],
-[44, "setcolor", 706, 301, [45, 47, 18]],
-[45, "setshade", 706, 259, [16, 46, 44]],
-[46, ["number", 25.0], 792, 259, [45, null]],
-[47, "box1", 784, 301, [44, null]],
-[48, ["and2", 0], 216, 300, [38, 49, 41]],
-[49, ["less2", 0], 262, 258, [48, 50, 51, null]],
-[50, "box2", 308, 258, [49, null]],
-[51, ["number", 21.0], 332, 300, [49, null]],
-[52, ["identity2", 0], 872, 467, [28, 42]]]
diff --git a/samples/sensors-turtle-sees.ta b/samples/sensors-turtle-sees.ta
deleted file mode 100644
index ac90671..0000000
--- a/samples/sensors-turtle-sees.ta
+++ /dev/null
@@ -1,107 +0,0 @@
-[[0, ["start", 2.0], 186, 203, [null, 99]],
-[1, "setcolor", 548, 701, [91, 21, 92]],
-[2, "setcolor", 548, 549, [30, 22, 90]],
-[3, "hat", 1280, 79, [null, 4, 36]],
-[4, ["string", "path"], 1338, 87, [3, null]],
-[5, "stack", 548, 785, [92, 6, null]],
-[6, ["string", "path"], 606, 785, [5, null]],
-[7, "forever", 186, 321, [9, 10, null]],
-[8, ["vspace", 0], 247, 381, [10, 18]],
-[9, "penup", 186, 287, [99, 7]],
-[10, "forward", 247, 339, [7, 11, 8]],
-[11, ["number", 5], 318, 339, [10, null]],
-[12, "left", 299, 741, [32, 13, null]],
-[13, ["number", 30], 357, 741, [12, null]],
-[14, "right", 299, 533, [34, 15, null]],
-[15, ["number", 30], 357, 533, [14, null]],
-[16, "see", 331, 389, [20, null]],
-[17, "see", 331, 597, [25, null]],
-[18, "if", 247, 423, [8, 20, 34, 19]],
-[19, ["vspace", 40.0], 247, 509, [18, 23]],
-[20, ["equal2", 0], 285, 389, [18, 16, 104, null]],
-[21, "blue", 625, 701, [1, null]],
-[22, "red", 625, 549, [2, null]],
-[23, "if", 247, 631, [19, 25, 32, 24]],
-[24, ["vspace", 20.0], 247, 717, [23, 28]],
-[25, ["equal2", 0], 285, 597, [23, 17, 26, null]],
-[26, "red", 331, 639, [25, null]],
-[27, "clean", 548, 237, [97, 105]],
-[28, "wait", 247, 799, [24, 29, null]],
-[29, ["number", 0.1], 305, 799, [28, null]],
-[30, "setpensize", 548, 507, [94, 31, 2]],
-[31, ["number", 25], 650, 507, [30, null]],
-[32, "back", 299, 699, [23, 33, 12]],
-[33, ["number", 5], 357, 699, [32, null]],
-[34, "back", 299, 491, [18, 35, 14]],
-[35, ["number", 5], 357, 491, [34, null]],
-[36, "forward", 1280, 129, [3, 37, 66]],
-[37, ["number", 100], 1351, 129, [36, null]],
-[38, "forward", 1280, 213, [66, 39, 68]],
-[39, ["number", 100], 1351, 213, [38, null]],
-[40, "forward", 1280, 339, [64, 41, 72]],
-[41, ["number", 250], 1351, 339, [40, null]],
-[42, "forward", 1280, 465, [62, 43, 76]],
-[43, ["number", 100], 1351, 465, [42, null]],
-[44, "forward", 1280, 549, [76, 45, 74]],
-[45, ["number", 150], 1351, 549, [44, null]],
-[46, "forward", 1121, 797, [48, 47, 50]],
-[47, ["number", 10], 1192, 797, [46, null]],
-[48, "repeat", 1056, 737, [52, 49, 46, null]],
-[49, ["number", 10], 1107, 737, [48, null]],
-[50, "right", 1121, 839, [46, 51, null]],
-[51, ["number", 9], 1179, 839, [50, null]],
-[52, "hat", 1056, 687, [null, 53, 48]],
-[53, ["string", "right"], 1114, 695, [52, null]],
-[54, "hat", 825, 678, [null, 55, 56]],
-[55, ["string", "left"], 883, 686, [54, null]],
-[56, "repeat", 825, 728, [54, 57, 58, null]],
-[57, ["number", 10], 876, 728, [56, null]],
-[58, "forward", 890, 788, [56, 59, 60]],
-[59, ["number", 10], 961, 788, [58, null]],
-[60, "left", 890, 830, [58, 61, null]],
-[61, ["number", 9], 948, 830, [60, null]],
-[62, "stack", 1280, 423, [72, 63, 42]],
-[63, ["string", "left"], 1338, 423, [62, null]],
-[64, "stack", 1280, 297, [68, 65, 40]],
-[65, ["string", "right"], 1338, 297, [64, null]],
-[66, "stack", 1280, 171, [36, 67, 38]],
-[67, ["string", "left"], 1338, 171, [66, null]],
-[68, "stack", 1280, 255, [38, 69, 64]],
-[69, ["string", "right"], 1338, 255, [68, null]],
-[70, "stack", 1280, 633, [74, 71, 78]],
-[71, ["string", "right"], 1338, 633, [70, null]],
-[72, "stack", 1280, 381, [40, 73, 62]],
-[73, ["string", "right"], 1338, 381, [72, null]],
-[74, "stack", 1280, 591, [44, 75, 70]],
-[75, ["string", "right"], 1338, 591, [74, null]],
-[76, "stack", 1280, 507, [42, 77, 44]],
-[77, ["string", "right"], 1338, 507, [76, null]],
-[78, "stack", 1280, 675, [70, 79, 80]],
-[79, ["string", "left"], 1338, 675, [78, null]],
-[80, "stack", 1280, 717, [78, 81, 82]],
-[81, ["string", "left"], 1338, 717, [80, null]],
-[82, "stack", 1280, 759, [80, 83, 86]],
-[83, ["string", "right"], 1338, 759, [82, null]],
-[84, "stack", 548, 625, [90, 85, 91]],
-[85, ["string", "path"], 606, 625, [84, null]],
-[86, "stack", 1280, 801, [82, 87, 88]],
-[87, ["string", "right"], 1338, 801, [86, null]],
-[88, "forward", 1280, 843, [86, 89, null]],
-[89, ["number", 50], 1351, 843, [88, null]],
-[90, "startfill", 548, 591, [2, 84]],
-[91, "stopfill", 548, 667, [84, 1]],
-[92, "setpensize", 548, 743, [1, 93, 5]],
-[93, ["number", 50], 650, 743, [92, null]],
-[94, ["fillscreen", 0], 548, 423, [106, 96, 95, 30]],
-[95, ["number", 50], 630, 465, [94, null]],
-[96, "yellow", 630, 423, [94, null]],
-[97, "hat", 548, 187, [null, 98, 27]],
-[98, ["string", "draw maze"], 606, 195, [97, null]],
-[99, "stack", 186, 245, [0, 100, 9]],
-[100, ["string", "draw maze"], 244, 245, [99, null]],
-[101, ["setxy2", 0], 548, 305, [105, 102, 103, 106]],
-[102, ["number", -100], 606, 305, [101, null]],
-[103, ["number", -100], 606, 347, [101, null]],
-[104, "yellow", 331, 431, [20, null]],
-[105, "penup", 548, 271, [27, 101]],
-[106, "pendown", 548, 389, [101, 94]]] \ No newline at end of file
diff --git a/samples/sensors-valentine.ta b/samples/sensors-valentine.ta
deleted file mode 100644
index e25992a..0000000
--- a/samples/sensors-valentine.ta
+++ /dev/null
@@ -1,107 +0,0 @@
-[[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]]]
diff --git a/samples/sensors-vumeter.ta b/samples/sensors-vumeter.ta
deleted file mode 100644
index 642e4bc..0000000
--- a/samples/sensors-vumeter.ta
+++ /dev/null
@@ -1,67 +0,0 @@
-[[0, ["start", 2.0], 34, 198, [null, 18]],
-[1, "forever", 34, 450, [31, 10, 2]],
-[2, ["vspace", 0], 34, 486, [1, null]],
-[3, ["setxy2", 0], 160, 528, [10, 4, 8, null]],
-[4, ["number", 0], 218, 528, [3, null]],
-[5, "volume", 326, 570, [6, null]],
-[6, ["division2", 0], 272, 570, [8, 5, 7]],
-[7, ["number", 10], 350, 612, [6, null]],
-[8, ["minus2", 20], 218, 570, [3, 6, 9]],
-[9, ["number", 200], 296, 652, [8, null]],
-[10, "repeat", 98, 468, [1, 11, 3, 12]],
-[11, ["number", 20], 146, 468, [10, null]],
-[12, ["vspace", 20], 98, 546, [10, 20]],
-[13, ["setxy2", 0], 652, 319, [17, 14, 15, 29]],
-[14, ["number", 0], 710, 319, [13, null]],
-[15, ["number", -200], 710, 361, [13, null]],
-[16, "penup", 652, 109, [19, 21]],
-[17, "pendown", 652, 277, [24, 13]],
-[18, "hideblocks", 34, 240, [0, 26]],
-[19, "hat1", 652, 67, [null, 16]],
-[20, "stack1", 98, 628, [12, null]],
-[21, ["setxy2", 0], 652, 151, [16, 22, 23, 24]],
-[22, ["number", 0], 710, 151, [21, null]],
-[23, "toppos", 710, 193, [21, null]],
-[24, "setcolor", 652, 235, [21, 28, 17]],
-[25, "white", 120, 282, [26, null]],
-[26, ["fillscreen", 0], 34, 282, [18, 25, 27, 37]],
-[27, ["number", 80], 120, 324, [26, null]],
-[28, "white", 730, 235, [24, null]],
-[29, "setcolor", 652, 403, [13, 30, null]],
-[30, ["number", 0], 730, 403, [29, null]],
-[31, "setpensize", 34, 408, [37, 32, 1]],
-[32, ["number", 30], 137, 408, [31, null]],
-[33, "hat2", 883, 65, [null, 62]],
-[34, "repeat", 883, 359, [42, 35, 43, 36]],
-[35, ["number", 6], 931, 359, [34, null]],
-[36, ["vspace", 80], 883, 437, [34, 53]],
-[37, "stack2", 34, 366, [26, 31]],
-[38, ["setxy2", 0], 883, 233, [41, 39, 40, 42]],
-[39, ["number", -100], 941, 233, [38, null]],
-[40, ["number", -200], 941, 275, [38, null]],
-[41, "penup", 883, 191, [60, 38]],
-[42, "pendown", 883, 317, [38, 34]],
-[43, "right", 945, 419, [34, 44, 45]],
-[44, ["number", 90], 1003, 419, [43, null]],
-[45, "forward", 945, 461, [43, 46, 47]],
-[46, ["number", 20], 1017, 461, [45, null]],
-[47, "back", 945, 503, [45, 48, 49]],
-[48, ["number", 20], 1003, 503, [47, null]],
-[49, "left", 945, 545, [47, 50, 54]],
-[50, ["number", 90], 1003, 545, [49, null]],
-[51, "forward", 945, 711, [64, 52, null]],
-[52, ["number", 100], 1017, 711, [51, null]],
-[53, "penup", 883, 639, [36, null]],
-[54, "show", 945, 587, [49, 66, 64]],
-[55, "ycor", 1165, 629, [57, null]],
-[56, ["number", 200], 1165, 671, [57, null]],
-[57, ["plus2", 0], 1111, 629, [58, 55, 56]],
-[58, ["product2", 20], 1057, 629, [66, 57, 59]],
-[59, ["number", 10], 1111, 711, [58, null]],
-[60, "setpensize", 883, 149, [62, 61, 41]],
-[61, ["number", 5], 986, 149, [60, null]],
-[62, "setscale", 883, 107, [33, 63, 60]],
-[63, ["number", 25.0], 962, 107, [62, null]],
-[64, ["vspace", 20], 945, 629, [54, 51]],
-[65, ["string", " "], 1057, 587, [66, null]],
-[66, ["plus2", 0], 1003, 587, [54, 65, 58]]]
diff --git a/samples/utility-clock.ta b/samples/utility-clock.ta
deleted file mode 100644
index fcf6bf4..0000000
--- a/samples/utility-clock.ta
+++ /dev/null
@@ -1,346 +0,0 @@
-[[0, "hat", 580, 160, [null, 1, 329]],
-[1, ["string", "show seconds"], 638, 168, [0, null]],
-[2, "if", 580, 328, [90, 3, 8, 333]],
-[3, ["equal2", 0], 618, 294, [2, 4, 6, null]],
-[4, "box", 664, 294, [3, 5, null]],
-[5, ["string", "old second"], 719, 294, [4, null]],
-[6, "box", 664, 336, [3, 7, null]],
-[7, ["string", "seconds"], 719, 336, [6, null]],
-[8, "stopstack", 632, 396, [2, null]],
-[9, "setcolor", 580, 456, [333, 10, 11]],
-[10, ["number", 60], 657, 456, [9, null]],
-[11, "setshade", 580, 498, [9, 12, 13]],
-[12, ["number", 100], 665, 498, [11, null]],
-[13, "seth", 580, 540, [11, 14, 334]],
-[14, ["product2", 0], 638, 540, [13, 15, 17]],
-[15, "box", 692, 540, [14, 16, null]],
-[16, ["string", "old second"], 747, 540, [15, null]],
-[17, ["division2", 0], 692, 582, [14, 18, 19]],
-[18, ["number", 360], 746, 582, [17, null]],
-[19, ["number", 60], 770, 624, [17, null]],
-[20, "setpensize", 580, 664, [334, 21, 22]],
-[21, ["number", 7.0], 682, 664, [20, null]],
-[22, "forward", 580, 706, [20, 23, 24]],
-[23, ["number", 225], 651, 706, [22, null]],
-[24, "back", 580, 748, [22, 25, 293]],
-[25, ["number", 225], 638, 748, [24, null]],
-[26, "setshade", 580, 362, [332, 27, 28]],
-[27, ["number", 50], 665, 362, [26, null]],
-[28, "setcolor", 580, 404, [26, 29, 30]],
-[29, ["number", 0], 657, 404, [28, null]],
-[30, "seth", 580, 446, [28, 31, 335]],
-[31, ["product2", 0], 638, 446, [30, 32, 34]],
-[32, "box", 692, 446, [31, 33, null]],
-[33, ["string", "seconds"], 747, 446, [32, null]],
-[34, ["division2", 0], 692, 488, [31, 35, 36]],
-[35, ["number", 360], 746, 488, [34, null]],
-[36, ["number", 60], 770, 530, [34, null]],
-[37, "setpensize", 580, 570, [335, 38, 39]],
-[38, ["number", 5], 682, 570, [37, null]],
-[39, "forward", 580, 612, [37, 40, 41]],
-[40, ["number", 225], 651, 612, [39, null]],
-[41, "back", 580, 654, [39, 42, 43]],
-[42, ["number", 225], 638, 654, [41, null]],
-[43, ["storein", 0], 580, 696, [41, 44, 45, 295]],
-[44, ["string", "old second"], 648, 696, [43, null]],
-[45, "box", 648, 738, [43, 46, null]],
-[46, ["string", "seconds"], 703, 738, [45, null]],
-[47, "hat", 900, 0, [null, 48, 308]],
-[48, ["string", "dial"], 958, 8, [47, null]],
-[49, "clean", 900, 84, [308, 50]],
-[50, ["fillscreen", 0], 900, 126, [49, 51, 52, 53]],
-[51, ["number", 60], 982, 126, [50, null]],
-[52, ["number", 100], 982, 168, [50, null]],
-[53, "setpensize", 900, 210, [50, 54, 306]],
-[54, ["number", 10], 1002, 210, [53, null]],
-[55, ["setxy2", 0], 900, 294, [306, 56, 57, 307]],
-[56, ["number", -300], 958, 294, [55, null]],
-[57, ["number", 0], 958, 336, [55, null]],
-[58, "repeat", 900, 420, [307, 59, 60, 282]],
-[59, ["number", 12], 951, 420, [58, null]],
-[60, "setcolor", 965, 480, [58, 241, 61]],
-[61, ["arc", 0], 965, 522, [60, 62, 63, null]],
-[62, ["number", 30], 1023, 522, [61, null]],
-[63, ["number", 300], 1023, 564, [61, null]],
-[64, ["setxy2", 0], 900, 160, [309, 65, 66, 310]],
-[65, ["number", 0], 958, 160, [64, null]],
-[66, ["number", 0], 958, 202, [64, null]],
-[67, "repeat", 900, 286, [310, 68, 70, 283]],
-[68, ["number", 60], 951, 286, [67, null]],
-[69, ["hspace", 40.0], 965, 464, [88, 91]],
-[70, "setcolor", 965, 346, [67, 244, 71]],
-[71, "penup", 965, 388, [70, 72]],
-[72, "forward", 965, 430, [71, 73, 74]],
-[73, ["number", 290], 1036, 430, [72, null]],
-[74, "pendown", 965, 472, [72, 75]],
-[75, "forward", 965, 514, [74, 76, 77]],
-[76, ["number", 10], 1036, 514, [75, null]],
-[77, "penup", 965, 556, [75, 78]],
-[78, "back", 965, 598, [77, 79, 80]],
-[79, ["number", 300], 1023, 598, [78, null]],
-[80, "right", 965, 640, [78, 81, null]],
-[81, ["number", 6], 1023, 640, [80, null]],
-[82, ["setxy2", 0], 900, 194, [313, 83, 84, 314]],
-[83, ["number", 5.0], 958, 194, [82, null]],
-[84, ["number", -55.0], 958, 236, [82, null]],
-[85, ["storein", 0], 900, 320, [314, 86, 87, 88]],
-[86, ["string", "box"], 968, 320, [85, null]],
-[87, ["number", 12], 968, 362, [85, null]],
-[88, "repeat", 900, 404, [85, 89, 69, 315]],
-[89, ["number", 12], 951, 404, [88, null]],
-[90, ["vspace", 0], 580, 286, [331, 2]],
-[91, "penup", 1101, 482, [69, 92]],
-[92, "seth", 1101, 524, [91, 93, 99]],
-[93, ["product2", 0], 1159, 524, [92, 94, 96]],
-[94, "box", 1213, 524, [93, 95, null]],
-[95, ["string", "box"], 1268, 524, [94, null]],
-[96, ["division2", 0], 1213, 566, [93, 97, 98]],
-[97, ["number", 360], 1267, 566, [96, null]],
-[98, ["number", 12], 1291, 608, [96, null]],
-[99, "forward", 1101, 566, [92, 100, 101]],
-[100, ["number", 270.0], 1172, 566, [99, null]],
-[101, "show", 1101, 608, [99, 102, 104]],
-[102, "box", 1159, 608, [101, 103, null]],
-[103, ["string", "box"], 1214, 608, [102, null]],
-[104, "back", 1101, 650, [101, 105, 106]],
-[105, ["number", 270.0], 1159, 650, [104, null]],
-[106, ["storein", 0], 1101, 692, [104, 107, 108, 112]],
-[107, ["string", "box"], 1169, 692, [106, null]],
-[108, ["minus2", 0], 1169, 734, [106, 109, 111]],
-[109, "box", 1223, 734, [108, 110, null]],
-[110, ["string", "box"], 1278, 734, [109, null]],
-[111, ["number", 1], 1247, 776, [108, null]],
-[112, "pendown", 1101, 776, [106, null]],
-[113, ["setxy2", 0], 900, 524, [315, 114, 115, 316]],
-[114, ["number", 0], 958, 524, [113, null]],
-[115, ["number", 0], 958, 566, [113, null]],
-[116, "hat", 460, 360, [null, 117, 324]],
-[117, ["string", "show minutes"], 518, 368, [116, null]],
-[118, "setcolor", 460, 486, [323, 119, 120]],
-[119, ["number", 60], 537, 486, [118, null]],
-[120, "setshade", 460, 528, [118, 121, 122]],
-[121, ["number", 100], 545, 528, [120, null]],
-[122, "seth", 460, 570, [120, 123, 325]],
-[123, ["product2", 0], 518, 570, [122, 124, 126]],
-[124, "box", 572, 570, [123, 125, null]],
-[125, ["string", "old minute"], 627, 570, [124, null]],
-[126, ["division2", 0], 572, 612, [123, 127, 128]],
-[127, ["number", 360], 626, 612, [126, null]],
-[128, ["number", 60], 650, 654, [126, null]],
-[129, "setpensize", 460, 694, [325, 130, 131]],
-[130, ["number", 5], 562, 694, [129, null]],
-[131, "forward", 460, 736, [129, 132, 133]],
-[132, ["number", 200], 531, 736, [131, null]],
-[133, "setpensize", 460, 778, [131, 134, 135]],
-[134, ["number", 27.0], 562, 778, [133, null]],
-[135, "forward", 460, 820, [133, 136, 137]],
-[136, ["number", 1], 531, 820, [135, null]],
-[137, "back", 460, 862, [135, 138, 139]],
-[138, ["number", 1], 518, 862, [137, null]],
-[139, "setpensize", 460, 904, [137, 140, 141]],
-[140, ["number", 7], 562, 904, [139, null]],
-[141, "back", 460, 946, [139, 142, 289]],
-[142, ["number", 200], 518, 946, [141, null]],
-[143, "setshade", 460, 562, [328, 144, 145]],
-[144, ["number", 30], 545, 562, [143, null]],
-[145, "setcolor", 460, 604, [143, 146, 147]],
-[146, ["number", 30], 537, 604, [145, null]],
-[147, "seth", 460, 646, [145, 148, 326]],
-[148, ["product2", 0], 518, 646, [147, 149, 151]],
-[149, "box", 572, 646, [148, 150, null]],
-[150, ["string", "minutes"], 627, 646, [149, null]],
-[151, ["division2", 0], 572, 688, [148, 152, 153]],
-[152, ["number", 360], 626, 688, [151, null]],
-[153, ["number", 60], 650, 730, [151, null]],
-[154, "setpensize", 460, 770, [326, 155, 156]],
-[155, ["number", 5], 562, 770, [154, null]],
-[156, "forward", 460, 812, [154, 157, 158]],
-[157, ["number", 200], 531, 812, [156, null]],
-[158, "setpensize", 460, 854, [156, 159, 160]],
-[159, ["number", 25], 562, 854, [158, null]],
-[160, "forward", 460, 896, [158, 161, 162]],
-[161, ["number", 1], 531, 896, [160, null]],
-[162, "setpensize", 460, 938, [160, 163, 164]],
-[163, ["number", 5], 562, 938, [162, null]],
-[164, "back", 460, 980, [162, 165, 166]],
-[165, ["number", 201], 518, 980, [164, null]],
-[166, ["storein", 0], 460, 1022, [164, 167, 168, 291]],
-[167, ["string", "old minute"], 528, 1022, [166, null]],
-[168, "box", 528, 1064, [166, 169, null]],
-[169, ["string", "minutes"], 583, 1064, [168, null]],
-[170, "hat", 480, 0, [null, 171, 319]],
-[171, ["string", "show hours"], 538, 8, [170, null]],
-[172, "setcolor", 480, 126, [321, 173, 174]],
-[173, ["number", 60], 557, 126, [172, null]],
-[174, "setshade", 480, 168, [172, 175, 176]],
-[175, ["number", 100], 565, 168, [174, null]],
-[176, "seth", 480, 210, [174, 177, 317]],
-[177, ["plus2", 40], 538, 210, [176, 178, 184]],
-[178, ["product2", 0], 592, 210, [177, 179, 181]],
-[179, "box", 646, 210, [178, 180, null]],
-[180, ["string", "old hour"], 701, 210, [179, null]],
-[181, ["division2", 0], 646, 252, [178, 182, 183]],
-[182, ["number", 360], 700, 252, [181, null]],
-[183, ["number", 12], 724, 294, [181, null]],
-[184, ["division2", 40], 592, 332, [177, 185, 190]],
-[185, ["product2", 0], 646, 332, [184, 186, 187]],
-[186, "box", 700, 332, [185, 240, null]],
-[187, ["division2", 0], 700, 374, [185, 188, 189]],
-[188, ["number", 360], 754, 374, [187, null]],
-[189, ["number", 60], 778, 416, [187, null]],
-[190, ["number", 12], 670, 454, [184, null]],
-[191, "setpensize", 480, 494, [317, 192, 193]],
-[192, ["number", 5], 582, 494, [191, null]],
-[193, "forward", 480, 536, [191, 194, 195]],
-[194, ["number", 100], 551, 536, [193, null]],
-[195, "setpensize", 480, 578, [193, 196, 197]],
-[196, ["number", 27.0], 582, 578, [195, null]],
-[197, "forward", 480, 620, [195, 198, 199]],
-[198, ["number", 1], 551, 620, [197, null]],
-[199, "back", 480, 662, [197, 200, 201]],
-[200, ["number", 1], 538, 662, [199, null]],
-[201, "setpensize", 480, 704, [199, 202, 203]],
-[202, ["number", 7], 582, 704, [201, null]],
-[203, "back", 480, 746, [201, 204, 285]],
-[204, ["number", 100], 538, 746, [203, null]],
-[205, "setshade", 480, 202, [322, 206, 207]],
-[206, ["number", 50], 565, 202, [205, null]],
-[207, "setcolor", 480, 244, [205, 208, 209]],
-[208, ["number", 70], 557, 244, [207, null]],
-[209, "seth", 480, 286, [207, 210, 318]],
-[210, ["plus2", 40], 538, 286, [209, 211, 217]],
-[211, ["product2", 0], 592, 286, [210, 212, 214]],
-[212, "box", 646, 286, [211, 213, null]],
-[213, ["string", "hours"], 701, 286, [212, null]],
-[214, ["division2", 0], 646, 328, [211, 215, 216]],
-[215, ["number", 360], 700, 328, [214, null]],
-[216, ["number", 12], 724, 370, [214, null]],
-[217, ["division2", 40], 592, 408, [210, 218, 224]],
-[218, ["product2", 0], 646, 408, [217, 219, 221]],
-[219, "box", 700, 408, [218, 220, null]],
-[220, ["string", "minutes"], 755, 408, [219, null]],
-[221, ["division2", 0], 700, 450, [218, 222, 223]],
-[222, ["number", 360], 754, 450, [221, null]],
-[223, ["number", 60], 778, 492, [221, null]],
-[224, ["number", 12], 670, 530, [217, null]],
-[225, "setpensize", 480, 570, [318, 226, 227]],
-[226, ["number", 5], 582, 570, [225, null]],
-[227, "forward", 480, 612, [225, 228, 229]],
-[228, ["number", 100], 551, 612, [227, null]],
-[229, "setpensize", 480, 654, [227, 230, 231]],
-[230, ["number", 25], 582, 654, [229, null]],
-[231, "forward", 480, 696, [229, 305, 232]],
-[232, "setpensize", 480, 738, [231, 233, 234]],
-[233, ["number", 5], 582, 738, [232, null]],
-[234, "back", 480, 780, [232, 235, 236]],
-[235, ["number", 101], 538, 780, [234, null]],
-[236, ["storein", 0], 480, 822, [234, 237, 238, 287]],
-[237, ["string", "old hour"], 548, 822, [236, null]],
-[238, "box", 548, 864, [236, 239, null]],
-[239, ["string", "hours"], 603, 864, [238, null]],
-[240, ["string", "old minute"], 755, 332, [186, null]],
-[241, ["division2", 0], 1042, 480, [60, 242, 243]],
-[242, "heading", 1096, 480, [241, null]],
-[243, ["number", 3], 1120, 522, [241, null]],
-[244, ["division2", 0], 1042, 346, [70, 246, 245]],
-[245, ["number", 3], 1120, 388, [244, null]],
-[246, "heading", 1096, 346, [244, null]],
-[247, "stack", 980, 468, [255, 248, null]],
-[248, ["string", "dial"], 1038, 468, [247, null]],
-[249, ["storein", 0], 980, 216, [339, 250, 251, 252]],
-[250, ["string", "old hour"], 1048, 216, [249, null]],
-[251, ["number", 12], 1048, 258, [249, null]],
-[252, ["storein", 0], 980, 300, [249, 253, 254, 255]],
-[253, ["string", "old minute"], 1048, 300, [252, null]],
-[254, ["number", 0], 1048, 342, [252, null]],
-[255, ["storein", 0], 980, 384, [252, 256, 257, 247]],
-[256, ["string", "old second"], 1048, 384, [255, null]],
-[257, ["number", 0], 1048, 426, [255, null]],
-[258, ["storein", 0], 980, 90, [340, 259, 336, 339]],
-[259, ["string", "timezone"], 1048, 90, [258, null]],
-[260, "forever", 0, 84, [342, 261, null]],
-[261, ["storein", 0], 61, 102, [260, 262, 344, 297]],
-[262, ["string", "hours"], 129, 102, [261, null]],
-[263, ["string", "localtime().tm_hour"], 287, 186, [299, null]],
-[264, "box", 183, 144, [344, 265, null]],
-[265, ["string", "timezone"], 238, 144, [264, null]],
-[266, ["storein", 0], 61, 268, [297, 267, 303, 296]],
-[267, ["string", "minutes"], 129, 268, [266, null]],
-[268, ["string", "localtime().tm_min"], 209, 310, [303, null]],
-[269, ["storein", 0], 61, 394, [296, 270, 301, 281]],
-[270, ["string", "seconds"], 129, 394, [269, null]],
-[271, ["string", "localtime().tm_sec"], 209, 436, [301, null]],
-[272, "wait", 61, 646, [276, 273, null]],
-[273, ["number", 1], 119, 646, [272, null]],
-[274, "stack", 61, 520, [281, 275, 278]],
-[275, ["string", "show seconds"], 119, 520, [274, null]],
-[276, "stack", 61, 604, [278, 277, 272]],
-[277, ["string", "show hours"], 119, 604, [276, null]],
-[278, "stack", 61, 562, [274, 279, 276]],
-[279, ["string", "show minutes"], 119, 562, [278, null]],
-[280, ["string", "erase old hour hand"], 563, 50, [319, null]],
-[281, ["vspace", 0], 61, 478, [269, 274]],
-[282, ["sandwichcollapsed", 1], 900, 84, [58, 311]],
-[283, ["sandwichcollapsed", 1], 900, 118, [67, 312]],
-[284, ["sandwichcollapsed", 1], 900, 152, [316, null]],
-[285, ["sandwichcollapsed", 1], 480, 126, [203, 320]],
-[286, ["string", "draw new hour hand"], 563, 126, [320, null]],
-[287, ["sandwichcollapsed", 1], 480, 202, [236, null]],
-[288, ["string", "erase old minutes hand"], 543, 410, [324, null]],
-[289, ["sandwichcollapsed", 1], 460, 486, [141, 327]],
-[290, ["string", "draw new minutes hand"], 543, 486, [327, null]],
-[291, ["sandwichcollapsed", 1], 460, 562, [166, null]],
-[292, ["string", "erase old seconds hand"], 663, 210, [329, null]],
-[293, ["sandwichcollapsed", 1], 580, 286, [24, 330]],
-[294, ["string", "draw new seconds hand"], 663, 286, [330, null]],
-[295, ["sandwichcollapsed", 1], 580, 362, [43, null]],
-[296, ["vspace", 0], 61, 352, [266, 269]],
-[297, ["vspace", 20], 61, 186, [261, 266]],
-[298, ["start", 2.0], 0, 0, [null, 342]],
-[299, ["myfunc1arg", 0], 207, 186, [344, 263, 300, null]],
-[300, ["number", 100], 287, 228, [299, null]],
-[301, ["myfunc1arg", 0], 129, 436, [269, 271, 302, null]],
-[302, ["number", 100], 209, 478, [301, null]],
-[303, ["myfunc1arg", 0], 129, 310, [266, 268, 304, null]],
-[304, ["number", 100], 209, 352, [303, null]],
-[305, ["number", 1], 551, 696, [231, null]],
-[306, "penup", 900, 252, [53, 55]],
-[307, "pendown", 900, 378, [55, 58]],
-[308, "sandwichtop_no_arm_no_label", 882, 50, [47, 49]],
-[309, "penup", 900, 118, [311, 64]],
-[310, "pendown", 900, 244, [64, 67]],
-[311, "sandwichtop_no_arm_no_label", 882, 84, [282, 309]],
-[312, "sandwichtop_no_arm_no_label", 882, 118, [283, 313]],
-[313, "penup", 900, 152, [312, 82]],
-[314, "pendown", 900, 278, [82, 85]],
-[315, "penup", 900, 482, [88, 113]],
-[316, "pendown", 900, 608, [113, 284]],
-[317, ["vspace", 100], 480, 252, [176, 191]],
-[318, ["vspace", 100], 480, 328, [209, 225]],
-[319, "comment", 480, 50, [170, 280, 321]],
-[320, "comment", 480, 126, [285, 286, 322]],
-[321, "sandwichtop_no_arm_no_label", 462, 92, [319, 172]],
-[322, "sandwichtop_no_arm_no_label", 462, 168, [320, 205]],
-[323, "sandwichtop_no_arm_no_label", 442, 452, [324, 118]],
-[324, "comment", 460, 410, [116, 288, 323]],
-[325, ["vspace", 20], 460, 612, [122, 129]],
-[326, ["vspace", 20], 460, 688, [147, 154]],
-[327, "comment", 460, 486, [289, 290, 328]],
-[328, "sandwichtop_no_arm_no_label", 442, 528, [327, 143]],
-[329, "comment", 580, 210, [0, 292, 331]],
-[330, "comment", 580, 286, [293, 294, 332]],
-[331, "sandwichtop_no_arm_no_label", 562, 252, [329, 90]],
-[332, "sandwichtop_no_arm_no_label", 562, 328, [330, 26]],
-[333, ["vspace", 0], 580, 414, [2, 9]],
-[334, ["vspace", 20], 580, 582, [13, 20]],
-[335, ["vspace", 20], 580, 488, [30, 37]],
-[336, ["myfunc1arg", 0], 1048, 132, [258, 337, 338, null]],
-[337, ["string", "timezone/x"], 1128, 132, [336, null]],
-[338, ["number", 3600], 1128, 174, [336, null]],
-[339, ["vspace", 0], 980, 174, [258, 249]],
-[340, "hat", 980, 40, [null, 341, 258]],
-[341, ["string", "setup"], 1038, 48, [340, null]],
-[342, "stack", 0, 42, [298, 343, 260]],
-[343, ["string", "setup"], 58, 42, [342, null]],
-[344, ["minus2", 0], 129, 144, [261, 264, 299]]]
-
diff --git a/samples/utility-timer.ta b/samples/utility-timer.ta
deleted file mode 100644
index bfaa7e5..0000000
--- a/samples/utility-timer.ta
+++ /dev/null
@@ -1,81 +0,0 @@
-[[0, ["fillscreen", 0], 753, 146, [12, 2, 1, 4]],
-[1, ["number", 80], 839, 188, [0, null]],
-[2, "red", 839, 146, [0, null]],
-[3, "white", 831, 230, [4, null]],
-[4, "setcolor", 753, 230, [0, 3, 71]],
-[5, "white", 843, 407, [7, null]],
-[6, "blue", 835, 491, [9, null]],
-[7, ["fillscreen", 0], 757, 407, [11, 5, 8, 9]],
-[8, ["number", 80], 843, 449, [7, null]],
-[9, "setcolor", 757, 491, [7, 6, 74]],
-[10, ["start", 2.0], 194, 74, [null, 80]],
-[11, "hat1", 757, 365, [null, 7]],
-[12, "hat2", 753, 104, [null, 0]],
-[13, "show", 258, 760, [68, 77, 79]],
-[14, "setscale", 194, 158, [80, 15, 44]],
-[15, ["number", 330], 273, 158, [14, null]],
-[16, ["userdefined", "pysamples/push_time.py"], 892, 673, [41, 17, 18]],
-[17, ["number", 100], 950, 673, [16, null]],
-[18, ["storein", 0], 892, 715, [16, 24, 20, 21]],
-[19, ["string", "h"], 961, 883, [23, null]],
-[20, "pop", 961, 757, [18, null]],
-[21, ["storein", 0], 892, 799, [18, 22, 34, 23]],
-[22, ["string", "m"], 961, 799, [21, null]],
-[23, ["storein", 0], 892, 883, [21, 19, 35, 25]],
-[24, ["string", "s"], 961, 715, [18, null]],
-[25, "storeinbox1", 892, 967, [23, 30, null]],
-[26, "box", 1119, 967, [28, 27, null]],
-[27, ["string", "h"], 1174, 967, [26, null]],
-[28, ["product2", 0], 1065, 967, [30, 26, 29]],
-[29, ["number", 3600], 1119, 1009, [28, null]],
-[30, ["plus2", 20], 1011, 967, [25, 28, 32]],
-[31, ["product2", 0], 1119, 1049, [32, 36, 33]],
-[32, ["plus2", 20], 1065, 1049, [30, 31, 38]],
-[33, ["number", 60], 1173, 1091, [31, null]],
-[34, "pop", 961, 841, [21, null]],
-[35, "pop", 961, 925, [23, null]],
-[36, "box", 1173, 1049, [31, 37, null]],
-[37, ["string", "m"], 1228, 1049, [36, null]],
-[38, "box", 1119, 1131, [32, 39, null]],
-[39, ["string", "s"], 1174, 1131, [38, null]],
-[40, "box1", 313, 242, [43, null]],
-[41, "hat", 892, 623, [null, 42, 16]],
-[42, ["string", "time"], 950, 631, [41, null]],
-[43, "storeinbox2", 194, 242, [44, 40, 46]],
-[44, "stack", 194, 200, [14, 45, 43]],
-[45, ["string", "time"], 252, 200, [44, null]],
-[46, "stack1", 194, 284, [43, 47]],
-[47, "forever", 194, 326, [46, 53, null]],
-[48, ["vspace", 40], 258, 470, [58, 66]],
-[49, "wait", 258, 844, [79, 50, null]],
-[50, ["number", 10], 316, 844, [49, null]],
-[51, "box2", 459, 470, [55, null]],
-[52, "box1", 435, 428, [55, null]],
-[53, "stack", 258, 344, [47, 54, 58]],
-[54, ["string", "time"], 316, 344, [53, null]],
-[55, ["minus2", 0], 381, 428, [56, 52, 51]],
-[56, ["division2", 20], 327, 428, [58, 55, 57]],
-[57, ["number", 60], 405, 510, [56, null]],
-[58, ["storein", 0], 258, 386, [53, 59, 56, 48]],
-[59, ["string", "elapsed"], 327, 386, [58, null]],
-[60, ["greater2", 0], 320, 558, [66, 62, 61, null]],
-[61, ["number", 20], 390, 600, [60, null]],
-[62, "box", 366, 558, [60, 63, null]],
-[63, ["string", "elapsed"], 421, 558, [62, null]],
-[64, "stack2", 334, 702, [67, null]],
-[65, "stack1", 386, 660, [66, null]],
-[66, "ifelse", 258, 592, [48, 60, 67, 65, 68]],
-[67, ["vspace", 0], 334, 660, [66, 64]],
-[68, ["vspace", 20], 258, 678, [66, 13]],
-[69, "box", 397, 802, [77, 70, null]],
-[70, ["string", "elapsed"], 452, 802, [69, null]],
-[71, ["setxy2", 0], 753, 272, [4, 72, 73, null]],
-[72, ["number", -100], 811, 272, [71, null]],
-[73, ["number", 200], 811, 314, [71, null]],
-[74, ["setxy2", 0], 757, 533, [9, 75, 76, null]],
-[75, ["number", -100], 815, 533, [74, null]],
-[76, ["number", 200], 815, 575, [74, null]],
-[77, ["myfunc1arg", 0], 316, 760, [13, 78, 69, null]],
-[78, ["string", "int(x)"], 397, 760, [77, null]],
-[79, ["vspace", 0], 258, 802, [13, 49]],
-[80, "hideblocks", 194, 116, [10, 14]]]