Further work on the parser