Work in progress. Please bear with me.