major cleanup, pretty close to ready