It works terribly, but it's still something - and some of the variable data structures are quite nice, in my humble opinion ;)
I'm interested to see what other people think, and if anyone has any tips on how to improve it (there will probably be quite a few!)