Assignment 1

First commit. Bulk done. Part 5 left. Minor formatting remaining.