lots of clean up