domain model refactory.