This is broken right now.

I don't want to redo all the work so I'm going to commit this and hope
that I'm in the mood to fix things later...