working verion, needs to be cleaned, but I also need a way to keep versions.

First commit of some real code. This is a project I've been working on
for quite a while, and its goal has changed several times over that
period. I'm finnaly happy with the direction im going, however with
every change I make managing this becomes more difficult.