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