Updated the code, made exercise code, created diagrams, and otherwise fixed broken things.