This got into a bit of mess. Let me think a bit about how to make it better.