More work in progress.  Things are pretty messy right now.