add git submodule support