patterns refactorig, richdomain -create