updated submodule initialization logic