CommonJS support for submodules