such rewrite many incompatibilities