Add branching, pulling. In a huge rush so it's messy.