reagent: rewrite