Domain driven design omars design