Rewrote parsing as a subclass; added tests for coverage