Alright, trying out more ideas, moved some code. I really should work on the language definition.
Woops, a few errors X]