translator rewrite