diff --git a/common.js b/common.js
index 7913e5b..933d7d6 100644
--- a/common.js
+++ b/common.js
@@ -166,8 +166,9 @@ async function validateMapAsset(assetId, game) {
         errors.push(`The root part of your model is a \`${root.ClassName}\`, it needs to be a \`Model\` instead.`);
     }
     else {
-        if ((game === "bhop" || game === "surf") && !root.Name.startsWith(game + "_")) {
-            errors.push(`Your root model's name is \`${root.Name}\`, its name must start with \`${game}_\`.`);
+        const prefix = (game === "deathrun") ? "dr" : game;
+        if (!root.Name.startsWith(prefix + "_")) {
+            errors.push(`Your root model's name is \`${root.Name}\`, its name must start with \`${prefix}_\`.`);
         }
         if (!/^[a-z0-9_]*$/.test(root.Name)) {
             errors.push(`Your root model's name is \`${root.Name}\` which contains invalid characters. It must only contain lowercase alphanumeric characters separated by underscores.`);
@@ -207,8 +208,8 @@ async function validateMapAsset(assetId, game) {
     }
 
     // Why does ModuleScript not inherit from Script, and/or why does BaseScript not have a Source property?
-    const illegalScript = root.FindFirstChildOfClass("Script", (script) => sourceHasIllegalKeywords(script.Source));
-    const illegalModuleScript = root.FindFirstChildOfClass("ModuleScript", (script) => sourceHasIllegalKeywords(script.Source));
+    const illegalScript = root.FindFirstDescendantOfClass("Script", (script) => sourceHasIllegalKeywords(script.Source));
+    const illegalModuleScript = root.FindFirstDescendantOfClass("ModuleScript", (script) => sourceHasIllegalKeywords(script.Source));
     if (illegalScript || illegalModuleScript) {
         errors.push("Your map has a `Script` that contains the keyword `getfenv` or `require`. You must remove these.");
     }