Merge in Zach's branch (with oodles and oodles of bug fixes)