rewrite parser system