smashing case.  moved some non-parsing concerns out of the parser