start parser rewrite