refactoring : expanded module structure