This contains something that seems to work correctly.  I need to focus on documentation.