redo the overal parsing process. Returned to the many-data-structure solution