run uses transitively and rewrite replaces/refactorings