diff --git a/src/animation/linear_animation.cpp b/src/animation/linear_animation.cpp
index 75f8cf6..b1e7fa8 100644
--- a/src/animation/linear_animation.cpp
+++ b/src/animation/linear_animation.cpp
@@ -47,10 +47,10 @@
 
 void LinearAnimation::apply(Artboard *artboard, float time, float mix) const {
 #ifdef WITH_RECORDER
-  if (Artboard::isDebug) {
-    printf("[RECORDER_LOG] LinearAnimation::apply: %f to %s for artboard: %s\n",
-           time, name().c_str(), artboard->name().c_str());
-  }
+//   if (Artboard::isDebug) {
+//     printf("[RECORDER_LOG] LinearAnimation::apply: %f to %s for artboard: %s\n",
+//            time, name().c_str(), artboard->name().c_str());
+//   }
 #endif
   if (quantize()) {
     float ffps = (float)fps();
diff --git a/src/artboard.cpp b/src/artboard.cpp
index 19692a2..8829f91 100644
--- a/src/artboard.cpp
+++ b/src/artboard.cpp
@@ -760,6 +760,11 @@
 
 void Artboard::addAnimation(LinearAnimation* object)
 {
+    #ifdef WITH_RECORDER
+    if(Artboard::isDebug) {
+        printf("[RECORDER_LOG]Artboard::addAnimation: %s to %s at index: %zu\n", object->name().c_str(), name().c_str(), m_Animations.size());
+    }
+#endif
     m_Animations.push_back(object);
 }
 
@@ -1264,9 +1269,9 @@
 bool Artboard::advanceInternal(float elapsedSeconds, AdvanceFlags flags)
 {
 #ifdef WITH_RECORDER
-    if(Artboard::isDebug) {
-        printf("[RECORDER_LOG] Artboard::advanceInternal: %f for %s\n", elapsedSeconds, name().c_str());
-    }
+    // if(Artboard::isDebug) {
+    //     printf("[RECORDER_LOG] Artboard::advanceInternal: %f for %s\n", elapsedSeconds, name().c_str());
+    // }
 #endif
     bool didUpdate = false;
 
diff --git a/src/joystick.cpp b/src/joystick.cpp
index c52acac..e5c3575 100644
--- a/src/joystick.cpp
+++ b/src/joystick.cpp
@@ -27,14 +27,22 @@
 
 StatusCode Joystick::onAddedClean(CoreContext* context)
 {
+    m_xAnimation = artboard()->animation(xId());
+    m_yAnimation = artboard()->animation(yId());
 #ifdef WITH_RECORDER
     if(Artboard::isDebug) {
         printf("[RECORDER_LOG] Joys::added x: %u y: %u\n",
                xId(), yId());
+        if(m_xAnimation) {
+            printf("[RECORDER_LOG] Joys::added x name: %s\n",
+                m_xAnimation->name().c_str());
+        }
+        if(m_yAnimation) {
+            printf("[RECORDER_LOG] Joys::added y name: %s\n",
+                m_yAnimation->name().c_str());
+        }
     }
 #endif
-    m_xAnimation = artboard()->animation(xId());
-    m_yAnimation = artboard()->animation(yId());
 
     return StatusCode::Ok;
 }
