final CSI4900 commit. Ready for grading, we will pick this up in the new
year.