working on isolating parser components, and rewriting parser in one go... this could take a while.