Massive changes to compare.  It has bloated and needs to be cleaned up...