untested code for branching and committing