reduce num of branch