diff --git a/src/nostalgia/core/studio/studiomodule.cpp b/src/nostalgia/core/studio/studiomodule.cpp
index 2b665a20..34ea4a5c 100644
--- a/src/nostalgia/core/studio/studiomodule.cpp
+++ b/src/nostalgia/core/studio/studiomodule.cpp
@@ -12,38 +12,34 @@
 namespace nostalgia::core {
 
 class StudioModule: public studio::Module {
-	public:
-		ox::Vector<studio::EditorMaker> editors(turbine::Context *ctx) const noexcept override;
-		ox::Vector<ox::UniquePtr<studio::ItemMaker>> itemMakers(turbine::Context*) const noexcept override;
-};
-
-ox::Vector<studio::EditorMaker> StudioModule::editors(turbine::Context *ctx) const noexcept {
-	return {
-		{
-			{FileExt_ng},
-			[ctx](ox::CRStringView path) -> ox::Result<studio::BaseEditor*> {
-				try {
-					return ox::make<TileSheetEditorImGui>(ctx, path);
-				} catch (const ox::Exception &ex) {
-					return ex.toError();
+	ox::Vector<studio::EditorMaker> editors(turbine::Context *ctx) const noexcept final {
+		return {
+			{
+				{FileExt_ng},
+				[ctx](ox::CRStringView path) -> ox::Result<studio::BaseEditor*> {
+					try {
+						return ox::make<TileSheetEditorImGui>(ctx, path);
+					} catch (const ox::Exception &ex) {
+						return ex.toError();
+					}
+				}
+			},
+			{
+				{FileExt_npal},
+				[ctx](ox::CRStringView path) -> ox::Result<studio::BaseEditor*> {
+					return PaletteEditorImGui::make(ctx, path);
 				}
 			}
-		},
-		{
-			{FileExt_npal},
-			[ctx](ox::CRStringView path) -> ox::Result<studio::BaseEditor*> {
-				return PaletteEditorImGui::make(ctx, path);
-			}
-		}
-	};
-}
+		};
+	}
 
-ox::Vector<ox::UniquePtr<studio::ItemMaker>> StudioModule::itemMakers(turbine::Context*) const noexcept {
-	ox::Vector<ox::UniquePtr<studio::ItemMaker>> out;
-	out.emplace_back(ox::make<studio::ItemMakerT<core::TileSheet>>("Tile Sheet", "TileSheets", "ng"));
-	out.emplace_back(ox::make<studio::ItemMakerT<core::Palette>>("Palette", "Palettes", "npal"));
-	return out;
-}
+	ox::Vector<ox::UniquePtr<studio::ItemMaker>> itemMakers(turbine::Context*) const noexcept final {
+		ox::Vector<ox::UniquePtr<studio::ItemMaker>> out;
+		out.emplace_back(ox::make<studio::ItemMakerT<core::TileSheet>>("Tile Sheet", "TileSheets", "ng"));
+		out.emplace_back(ox::make<studio::ItemMakerT<core::Palette>>("Palette", "Palettes", "npal"));
+		return out;
+	}
+};
 
 static StudioModule mod;
 const studio::Module *studioModule() noexcept {