rewrite, tweak