reroute edit method and refactor model