all: rewrite