initial foundation
remove target artefacts
refactored