refactor domain framework
Merge branch 'henryleu'