create branches
proper error handling