A work in progress.