learning about branching and merging