everything seems to work and is finished.  Just need to tidy up code a
bit and re-write the tests