Cleanup.
A work in progress ...