diff --git a/WORKSPACE b/WORKSPACE
index 9ba8ebf..43cc395 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -14,29 +14,17 @@
 
 workspace(name = "com_google_mpact-cheriot")
 
-load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
-load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
+# First load the immediate repo dependencies (mpact-sim).
+load("@com_google_mpact-cheriot//:repos.bzl", "mpact_cheriot_repos")
 
-# MPACT-RiscV repo
-http_archive(
-    name = "com_google_mpact-riscv",
-    sha256 = "c30dc2ec57fd476d833dc8e5c02045acdfda4136cb5c2376044432d453aecd4d",
-    strip_prefix = "mpact-riscv-a43a92ba38d8260f4207416e11721ceee7135624",
-    url = "https://github.com/google/mpact-riscv/archive/a43a92ba38d8260f4207416e11721ceee7135624.tar.gz"
-)
+mpact_cheriot_repos()
 
-load("@com_google_mpact-riscv//:repos.bzl, "mpact_riscv_repos")
+# Next load in the transitive repo dependencies.
+load("@com_google_mpact-cheriot//:dep_repos.bzl", "mpact_cheriot_dep_repos")
 
-mpact_riscv_repos()
+mpact_cheriot_dep_repos()
 
-load("@com_google_mpact-riscv//::deps.bzl, "mpact_riscv_deps")
+# Call the deps function. It will call any other dependent deps functions.
+load("@com_google_mpact-cheriot//:deps.bzl", "mpact_cheriot_deps");
 
-mpact_riscv_deps()
-
-load("@com_google_mpact-sim//:repos.bzl", "mpact_sim_repos")
-
-mpact_sim_repos()
-
-load("@com_google_mpact-sim//:deps.bzl", "mpact_sim_deps")
-
-mpact_sim_deps()
+mpact_cheriot_deps()
diff --git a/deps.bzl b/deps.bzl
new file mode 100644
index 0000000..b0de613
--- /dev/null
+++ b/deps.bzl
@@ -0,0 +1,22 @@
+# Copyright 2024 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Set up extra repositories with the dependencies"""
+
+load("@com_google_mpact-riscv//:deps.bzl", "mpact_riscv_deps")
+
+def mpact_cheriot_deps():
+    """ Extra dependencies to finish setting up Google repositories"""
+
+    mpact_riscv_deps()
diff --git a/gitfiles/dep_repos.bzl b/gitfiles/dep_repos.bzl
new file mode 100644
index 0000000..ba185a7
--- /dev/null
+++ b/gitfiles/dep_repos.bzl
@@ -0,0 +1,22 @@
+# Copyright 2024 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Call the first level dependent repos to load their dependencies."""
+
+load("@com_google_mpact-riscv//:repos.bzl", "mpact_riscv_dep_repos")
+
+def mpact_cheriot_dep_repos():
+    """ Extra dependencies to finish setting up repositories"""
+
+    mpact_riscv_dep_repos()
diff --git a/repos.bzl b/repos.bzl
new file mode 100644
index 0000000..6490680
--- /dev/null
+++ b/repos.bzl
@@ -0,0 +1,28 @@
+# Copyright 2024 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Load dependent repositories"""
+
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
+def mpact_cheriot_repos():
+    """ Load dependencies needed to use mpact-riscv as a 3rd-party consumer"""
+
+    if not native.existing_rule("com_google_mpact-riscv"):
+        http_archive(
+            name = "com_google_mpact-riscv",
+            sha256 = "43606c66d9664f824967345036c5a6c808f9a1f219a082a078382ef091c13ae3",
+            strip_prefix = "mpact-riscv-116a72298bc6c012644739cb84e7ff593673cb84",
+            url = "https://github.com/google/mpact-riscv/archive/116a72298bc6c012644739cb84e7ff593673cb84.tar.gz",
+        )
