Ready to test.  Still needs cleanup.