diff --git a/include/rive/artboard.hpp b/include/rive/artboard.hpp
index 003b72c..5f33451 100644
--- a/include/rive/artboard.hpp
+++ b/include/rive/artboard.hpp
@@ -22,6 +22,7 @@
     class DrawTarget;
     class ArtboardImporter;
     class NestedArtboard;
+    class ArtboardInstance;
 
     class Artboard : public ArtboardBase, public CoreContext, public ShapePaintContainer {
         friend class File;
@@ -132,7 +133,7 @@
 
         /// Make an instance of this artboard, must be explictly deleted when no
         /// longer needed.
-        std::unique_ptr<Artboard> instance() const;
+        std::unique_ptr<ArtboardInstance> instance() const;
 
         /// Returns true if the artboard is an instance of another
         bool isInstance() const { return m_IsInstance; }
@@ -151,6 +152,10 @@
 
         StatusCode import(ImportStack& importStack) override;
     };
+
+    class ArtboardInstance : public Artboard {
+    public:
+    };
 } // namespace rive
 
 #endif
diff --git a/src/artboard.cpp b/src/artboard.cpp
index 85251ea..7a3cf9f 100644
--- a/src/artboard.cpp
+++ b/src/artboard.cpp
@@ -31,6 +31,7 @@
     // Instances reference back to the original artboard's animations and state
     // machines, so don't delete them here, they'll get cleaned up when the
     // source is deleted.
+    // TODO: move this logic into ArtboardInstance destructor???
     if (!m_IsInstance) {
         for (auto object : m_Animations) {
             delete object;
@@ -490,8 +491,10 @@
     return m_StateMachines[index];
 }
 
-std::unique_ptr<Artboard> Artboard::instance() const {
-    std::unique_ptr<Artboard> artboardClone(clone()->as<Artboard>());
+std::unique_ptr<ArtboardInstance> Artboard::instance() const {
+    std::unique_ptr<ArtboardInstance> artboardClone(new ArtboardInstance);
+    artboardClone->copy(*this);
+
     artboardClone->m_FrameOrigin = m_FrameOrigin;
 
     std::vector<Core*>& cloneObjects = artboardClone->m_Objects;
