Merge pull request #78 from qinshihu/refactor/module-architecture