Rewrote parser as a state machine, missing token info