Checked out Noobman's branch.
Schematic changes courtesy of Noobman, except I did the merge right this time.