Made lots of additions.  Related work still needs work.