reworked parser.