Lots of work done, some old stuff deleted.