more work on stage 2 parser