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