move submodule update call into base and make it optional