Rewrote the parser.