lots of clean-up. new results