understand usage of submodule