rewrite design