Add basic submodule support