Finsihed up async rewrite