automatic submodule initialization