async rewrite