*Should* work now. Still needs cleanup.