working tokeniser
working parser, needs removing exports and more tests