Work in progress.  With any luck, this will finally be a clean build.