domain object transformation