move to submodule-style