Issue #15: all working, and tests pass OK