apply module apttern to domain object