first pass of new parser