adding branching and merging