refactored into classes to handle different parsing procedures.
A couple tiny changes---should have been with prior commit