Work in progress. Bear with me.