updated to use read-only submodule