add basic branching, new functions branch and checkout