reasons for doing the rewrite