GH-2358 Initial code changes and tests
7 files changed