restructure for submodule