rewrite completely.