divide branch condition more