Design fixes

Work in progress. Don't accept yet.