Last commit before going swimming. Everything is working. Will comment, clean up, and submit when I get back.