branching system