Design changes from Issue #14.