rewrite takes 2 args