mod: rewrite compiler