This is a clusterfudge.  Work in progress.