branches explanation