rewrite2