using readonly submodule