refactor module structure
Merge refactor-module-structure branch