Cleans up, and adds, comments. Also includes a readme and a few efficiency improvements to do with gathering.