Iss21 branch: Issue #21 merger

Issue #21, phase one is complete and as such is ready for merger into main.