add typed ddd sample, not very complete yet