parser now consists of accept and match