I think it's finally heading in a good direction now, so I'm committing before I break something
Seems to work now, hurrah.  Still needs work