Work in progress, please
excuse the mess.