Split/add and fixes

Note to reviewers: I have removed these lines of code since they are now unreachable (the `has_course` call above makes sure the course doesn't exist before creating it).