Lots of work on the parsing... should really be writing tests.... bad penguin!!