First version, tests passing.  Includes sleep and comments to help debug