continued refactoring design artefacts