Principles of branching