Done for now.  There is lots of untested code.