Branching processes and their applications (2016)