branching process model