diff --git a/LEGO1/mxmusicpresenter.cpp b/LEGO1/mxmusicpresenter.cpp
index 562f047c..d33627ad 100644
--- a/LEGO1/mxmusicpresenter.cpp
+++ b/LEGO1/mxmusicpresenter.cpp
@@ -1,7 +1,12 @@
 #include "mxmusicpresenter.h"
 
-// OFFSET: LEGO1 0x100c22c0 STUB
+// OFFSET: LEGO1 0x100c22c0
 MxMusicPresenter::MxMusicPresenter()
 {
-  // TODO
+  Init();
+}
+
+// OFFSET: LEGO1 0x100c2540
+void MxMusicPresenter::Init()
+{
 }
\ No newline at end of file
diff --git a/LEGO1/mxmusicpresenter.h b/LEGO1/mxmusicpresenter.h
index e244b036..c8e88604 100644
--- a/LEGO1/mxmusicpresenter.h
+++ b/LEGO1/mxmusicpresenter.h
@@ -7,7 +7,23 @@
 class MxMusicPresenter : public MxAudioPresenter
 {
 public:
+  // OFFSET: LEGO1 0x100c23a0
+  inline virtual const char *ClassName() const override // vtable+0xc
+  {
+    // 0x10101e48
+    return "MxMusicPresenter";
+  }
+
+  // OFFSET: LEGO1 0x100c23b0
+  inline virtual MxBool IsA(const char *name) const override // vtable+0x10
+  {
+    return !strcmp(name, MxMusicPresenter::ClassName()) || MxAudioPresenter::IsA(name);
+  }
+
   MxMusicPresenter();
+
+private:
+  void Init();
 };
 
 #endif // MXMUSICPRESENTER_H