enough of this submodule nonsense