first domain model without virtual properties but interfaces