project rewriting