Refactor for submodule