Refactoring after lots of consolidation and breakage.  Still not discarding properly.