submodule restruct