second rev of clean-up