removed throwError, scan, error() from parser, i still have a couple of useless work included