refactor branch