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