initial work on the parser