diff --git a/include/fggl/ds/graph.hpp b/include/fggl/ds/graph.hpp
index 4433730425791ad99507ff0ccef8963b9b2453a6..eefd9a041cfb3a37d0946b6839142622601415b7 100644
--- a/include/fggl/ds/graph.hpp
+++ b/include/fggl/ds/graph.hpp
@@ -142,20 +142,19 @@ namespace fggl::ds {
 
 				auto myDeps = m_edges.at(idx);
 				for (auto& dep : myDeps) {
-
-					if ( m_edges.find(dep) == m_edges.end() ) {
-						debug::warning("dependency was in graph, but does not exist as vertex: {}", dep.get());
-						continue;
-					}
-
-					assert( m_edges.contains(dep) );
-					// ensure dependency loops don't cause errors
 					if ( visited.contains(dep) ) {
-						debug::warning("Dependency loop detected, aborting");
 						continue;
 					}
 
-					sortUtilRev(dep, visited, stack);
+					// if this node exists in the graph, fetch its dependencies to
+					if ( m_edges.contains(dep) ) {
+						sortUtilRev(dep, visited, stack);
+					} else {
+						// !? we don't know about this asset but someone wants it, stick it in the queue
+						// this will probably cause an error when chain loading, but then it will let people
+						// know it's missing.
+						stack.push(dep);
+					}
 				}
 
 				stack.push(idx);
diff --git a/integrations/lua/include/fggl/script/lua/module.hpp b/integrations/lua/include/fggl/script/lua/module.hpp
index 0137152584010d1f96925a755dab98e2e6c85d9b..22593f53bae27dc7e4baead0913abd31eb4ffe18 100644
--- a/integrations/lua/include/fggl/script/lua/module.hpp
+++ b/integrations/lua/include/fggl/script/lua/module.hpp
@@ -37,6 +37,7 @@ namespace fggl::script::lua {
 	struct Lua : public services::Module {
 		FGGL_MODULE(fggl::script::Lua, fggl::filesystem::API)
 
+		void setup(services::Generator*) override;
 		void wireServices(services::ModuleBinder& binder) override;
 	};
 
diff --git a/integrations/lua/src/module.cpp b/integrations/lua/src/module.cpp
index dd1ba35e240f687d996e46e6ddd1187ab43fab2c..d649599703d66940ea22a0e1c6d3cc879aebc909 100644
--- a/integrations/lua/src/module.cpp
+++ b/integrations/lua/src/module.cpp
@@ -28,12 +28,13 @@ namespace fggl::script::lua {
 		return assets::INVALID_ASSET_TYPE;
 	}
 
+	void Lua::setup(fggl::services::Generator *generator) {
+		auto adapted = generator->getLazy<assets::CheckinAdapted>();
+		adapted->setLoader(MIME_LUA, assets::NEEDS_CHECKIN, is_lua);
+	}
+
 	void Lua::wireServices(services::ModuleBinder &binder) {
 		binder.bind<ScriptProvider>().to<LuaScriptProvider, fggl::filesystem::Locator>();
-
-		//TODO
-		//auto *assetPacker = serviceManager.get<assets::CheckinAdapted>();
-		//assetPacker->setLoader(MIME_LUA, assets::NEEDS_CHECKIN, is_lua);
 	}
 
 }
\ No newline at end of file