Lots more progress + cleanup.  Not quite working, but close