added several domain objects and tests