Rethinking refactor