diff --git a/libraries/fbx/src/FBXSerializer.cpp b/libraries/fbx/src/FBXSerializer.cpp
index 100f6ee98e..e6413e3079 100644
--- a/libraries/fbx/src/FBXSerializer.cpp
+++ b/libraries/fbx/src/FBXSerializer.cpp
@@ -1675,5 +1675,9 @@ HFMModel::Pointer FBXSerializer::read(const hifi::ByteArray& data, const hifi::V
 
     // FBXSerializer's mapping parameter supports the bool "deduplicateIndices," which is passed into FBXSerializer::extractMesh as "deduplicate"
 
-    return HFMModel::Pointer(extractHFMModel(mapping, url.toString()));
+    auto hfmModel = extractHFMModel(mapping, url.toString());
+
+    //hfmModel->debugDump();
+
+    return HFMModel::Pointer(hfmModel);
 }
diff --git a/libraries/fbx/src/GLTFSerializer.cpp b/libraries/fbx/src/GLTFSerializer.cpp
index bccc93083f..274a1b5dc1 100755
--- a/libraries/fbx/src/GLTFSerializer.cpp
+++ b/libraries/fbx/src/GLTFSerializer.cpp
@@ -1669,7 +1669,9 @@ HFMModel::Pointer GLTFSerializer::read(const hifi::ByteArray& data, const hifi::
         HFMModel& hfmModel = *hfmModelPtr;
         buildGeometry(hfmModel, mapping, _url);
 
-        //hfmDebugDump(data);
+        //hfmModel.debugDump();
+        //glTFDebugDump();
+
         return hfmModelPtr;
     } else {
         qCDebug(modelformat) << "Error parsing GLTF file.";
@@ -2020,181 +2022,28 @@ void GLTFSerializer::retriangulate(const QVector<int>& inIndices, const QVector<
 }
 
 void GLTFSerializer::glTFDebugDump() {
+    qCDebug(modelformat) << "\n";
+    qCDebug(modelformat) << "---------------- GLTF Model ----------------";
+
     qCDebug(modelformat) << "---------------- Nodes ----------------";
     for (GLTFNode node : _file.nodes) {
         if (node.defined["mesh"]) {
-            qCDebug(modelformat) << "\n";
             qCDebug(modelformat) << "    node_transforms" << node.transforms;
-            qCDebug(modelformat) << "\n";
         }
     }
 
     qCDebug(modelformat) << "---------------- Accessors ----------------";
     for (GLTFAccessor accessor : _file.accessors) {
-        qCDebug(modelformat) << "\n";
         qCDebug(modelformat) << "count: " << accessor.count;
         qCDebug(modelformat) << "byteOffset: " << accessor.byteOffset;
-        qCDebug(modelformat) << "\n";
     }
 
     qCDebug(modelformat) << "---------------- Textures ----------------";
     for (GLTFTexture texture : _file.textures) {
         if (texture.defined["source"]) {
-            qCDebug(modelformat) << "\n";
             QString url = _file.images[texture.source].uri;
             QString fname = hifi::URL(url).fileName();
             qCDebug(modelformat) << "fname: " << fname;
-            qCDebug(modelformat) << "\n";
         }
     }
-
-    qCDebug(modelformat) << "\n";
-}
-
-void GLTFSerializer::hfmDebugDump(const HFMModel& hfmModel) {
-    qCDebug(modelformat) << "---------------- hfmModel ----------------";
-    qCDebug(modelformat) << "  originalURL =" << hfmModel.originalURL;
-
-    qCDebug(modelformat) << "  hasSkeletonJoints =" << hfmModel.hasSkeletonJoints;
-    qCDebug(modelformat) << "  offset =" << hfmModel.offset;
-
-    qCDebug(modelformat) << "  neckPivot = " << hfmModel.neckPivot;
-
-    qCDebug(modelformat) << "  bindExtents.size() = " << hfmModel.bindExtents.size();
-    qCDebug(modelformat) << "  meshExtents.size() = " << hfmModel.meshExtents.size();
-
-    qCDebug(modelformat) << "  jointIndices.size() =" << hfmModel.jointIndices.size();
-    qCDebug(modelformat) << "  joints.count() =" << hfmModel.joints.count();
-    qCDebug(modelformat) << "---------------- Meshes ----------------";
-    qCDebug(modelformat) << "  meshes.count() =" << hfmModel.meshes.count();
-    qCDebug(modelformat) << "  blendshapeChannelNames = " << hfmModel.blendshapeChannelNames;
-    foreach(HFMMesh mesh, hfmModel.meshes) {
-        qCDebug(modelformat) << "\n";
-        qCDebug(modelformat) << "    meshpointer =" << mesh._mesh.get();
-        qCDebug(modelformat) << "    meshindex =" << mesh.meshIndex;
-        qCDebug(modelformat) << "    vertices.count() =" << mesh.vertices.size();
-        qCDebug(modelformat) << "    colors.count() =" << mesh.colors.count();
-        qCDebug(modelformat) << "    normals.count() =" << mesh.normals.size();
-        qCDebug(modelformat) << "    tangents.count() =" << mesh.tangents.size();
-        qCDebug(modelformat) << "    colors.count() =" << mesh.colors.count();
-        qCDebug(modelformat) << "    texCoords.count() =" << mesh.texCoords.count();
-        qCDebug(modelformat) << "    texCoords1.count() =" << mesh.texCoords1.count();
-        qCDebug(modelformat) << "    clusterIndices.count() =" << mesh.clusterIndices.count();
-        qCDebug(modelformat) << "    clusterWeights.count() =" << mesh.clusterWeights.count();
-        qCDebug(modelformat) << "    modelTransform =" << mesh.modelTransform;
-        qCDebug(modelformat) << "    parts.count() =" << mesh.parts.count();
-        qCDebug(modelformat) << "---------------- Meshes (blendshapes)--------";
-        foreach(HFMBlendshape bshape, mesh.blendshapes) {
-            qCDebug(modelformat) << "\n";
-            qCDebug(modelformat) << "    bshape.indices.count() =" << bshape.indices.count();
-            qCDebug(modelformat) << "    bshape.vertices.count() =" << bshape.vertices.count();
-            qCDebug(modelformat) << "    bshape.normals.count() =" << bshape.normals.count();
-            qCDebug(modelformat) << "\n";
-        }
-        qCDebug(modelformat) << "---------------- Meshes (meshparts)--------";
-        foreach(HFMMeshPart meshPart, mesh.parts) {
-            qCDebug(modelformat) << "\n";
-            qCDebug(modelformat) << "        quadIndices.count() =" << meshPart.quadIndices.count();
-            qCDebug(modelformat) << "        triangleIndices.count() =" << meshPart.triangleIndices.count();
-            qCDebug(modelformat) << "        materialID =" << meshPart.materialID;
-            qCDebug(modelformat) << "\n";
-
-        }
-        qCDebug(modelformat) << "---------------- Meshes (clusters)--------";
-        qCDebug(modelformat) << "    clusters.count() =" << mesh.clusters.count();
-        foreach(HFMCluster cluster, mesh.clusters) {
-            qCDebug(modelformat) << "\n";
-            qCDebug(modelformat) << "        jointIndex =" << cluster.jointIndex;
-            qCDebug(modelformat) << "        inverseBindMatrix =" << cluster.inverseBindMatrix;
-            qCDebug(modelformat) << "\n";
-        }
-        qCDebug(modelformat) << "\n";
-    }
-    qCDebug(modelformat) << "---------------- AnimationFrames ----------------";
-    foreach(HFMAnimationFrame anim, hfmModel.animationFrames) {
-        qCDebug(modelformat) << "  anim.translations = " << anim.translations;
-        qCDebug(modelformat) << "  anim.rotations = " << anim.rotations;
-    }
-    QList<int> mitomona_keys = hfmModel.meshIndicesToModelNames.keys();
-    foreach(int key, mitomona_keys) {
-        qCDebug(modelformat) << "    meshIndicesToModelNames key =" << key << "  val =" << hfmModel.meshIndicesToModelNames[key];
-    }
-
-    qCDebug(modelformat) << "---------------- Materials ----------------";
-
-    foreach(HFMMaterial mat, hfmModel.materials) {
-        qCDebug(modelformat) << "\n";
-        qCDebug(modelformat) << "  mat.materialID =" << mat.materialID;
-        qCDebug(modelformat) << "  diffuseColor =" << mat.diffuseColor;
-        qCDebug(modelformat) << "  diffuseFactor =" << mat.diffuseFactor;
-        qCDebug(modelformat) << "  specularColor =" << mat.specularColor;
-        qCDebug(modelformat) << "  specularFactor =" << mat.specularFactor;
-        qCDebug(modelformat) << "  emissiveColor =" << mat.emissiveColor;
-        qCDebug(modelformat) << "  emissiveFactor =" << mat.emissiveFactor;
-        qCDebug(modelformat) << "  shininess =" << mat.shininess;
-        qCDebug(modelformat) << "  opacity =" << mat.opacity;
-        qCDebug(modelformat) << "  metallic =" << mat.metallic;
-        qCDebug(modelformat) << "  roughness =" << mat.roughness;
-        qCDebug(modelformat) << "  emissiveIntensity =" << mat.emissiveIntensity;
-        qCDebug(modelformat) << "  ambientFactor =" << mat.ambientFactor;
-
-        qCDebug(modelformat) << "  materialID =" << mat.materialID;
-        qCDebug(modelformat) << "  name =" << mat.name;
-        qCDebug(modelformat) << "  shadingModel =" << mat.shadingModel;
-        qCDebug(modelformat) << "  _material =" << mat._material.get();
-
-        qCDebug(modelformat) << "  normalTexture =" << mat.normalTexture.filename;
-        qCDebug(modelformat) << "  albedoTexture =" << mat.albedoTexture.filename;
-        qCDebug(modelformat) << "  opacityTexture =" << mat.opacityTexture.filename;
-
-        qCDebug(modelformat) << "  lightmapParams =" << mat.lightmapParams;
-
-        qCDebug(modelformat) << "  isPBSMaterial =" << mat.isPBSMaterial;
-        qCDebug(modelformat) << "  useNormalMap =" << mat.useNormalMap;
-        qCDebug(modelformat) << "  useAlbedoMap =" << mat.useAlbedoMap;
-        qCDebug(modelformat) << "  useOpacityMap =" << mat.useOpacityMap;
-        qCDebug(modelformat) << "  useRoughnessMap =" << mat.useRoughnessMap;
-        qCDebug(modelformat) << "  useSpecularMap =" << mat.useSpecularMap;
-        qCDebug(modelformat) << "  useMetallicMap =" << mat.useMetallicMap;
-        qCDebug(modelformat) << "  useEmissiveMap =" << mat.useEmissiveMap;
-        qCDebug(modelformat) << "  useOcclusionMap =" << mat.useOcclusionMap;
-        qCDebug(modelformat) << "\n";
-    }
-
-    qCDebug(modelformat) << "---------------- Joints ----------------";
-
-    foreach (HFMJoint joint, hfmModel.joints) {
-        qCDebug(modelformat) << "\n";
-        qCDebug(modelformat) << "    shapeInfo.avgPoint =" << joint.shapeInfo.avgPoint;
-        qCDebug(modelformat) << "    shapeInfo.debugLines =" << joint.shapeInfo.debugLines;
-        qCDebug(modelformat) << "    shapeInfo.dots =" << joint.shapeInfo.dots;
-        qCDebug(modelformat) << "    shapeInfo.points =" << joint.shapeInfo.points;
-
-        qCDebug(modelformat) << "    parentIndex" << joint.parentIndex;
-        qCDebug(modelformat) << "    distanceToParent" << joint.distanceToParent;
-        qCDebug(modelformat) << "    translation" << joint.translation;
-        qCDebug(modelformat) << "    preTransform" << joint.preTransform;
-        qCDebug(modelformat) << "    preRotation" << joint.preRotation;
-        qCDebug(modelformat) << "    rotation" << joint.rotation;
-        qCDebug(modelformat) << "    postRotation" << joint.postRotation;
-        qCDebug(modelformat) << "    postTransform" << joint.postTransform;
-        qCDebug(modelformat) << "    transform" << joint.transform;
-        qCDebug(modelformat) << "    rotationMin" << joint.rotationMin;
-        qCDebug(modelformat) << "    rotationMax" << joint.rotationMax;
-        qCDebug(modelformat) << "    inverseDefaultRotation" << joint.inverseDefaultRotation;
-        qCDebug(modelformat) << "    inverseBindRotation" << joint.inverseBindRotation;
-        qCDebug(modelformat) << "    bindTransform" << joint.bindTransform;
-        qCDebug(modelformat) << "    name" << joint.name;
-        qCDebug(modelformat) << "    isSkeletonJoint" << joint.isSkeletonJoint;
-        qCDebug(modelformat) << "    bindTransformFoundInCluster" << joint.hasGeometricOffset;
-        qCDebug(modelformat) << "    bindTransformFoundInCluster" << joint.geometricTranslation;
-        qCDebug(modelformat) << "    bindTransformFoundInCluster" << joint.geometricRotation;
-        qCDebug(modelformat) << "    bindTransformFoundInCluster" << joint.geometricScaling;
-        qCDebug(modelformat) << "\n";
-    }
-
-    qCDebug(modelformat) << "---------------- GLTF Model ----------------";
-    glTFDebugDump();
-
-    qCDebug(modelformat) << "\n";
 }
diff --git a/libraries/fbx/src/GLTFSerializer.h b/libraries/fbx/src/GLTFSerializer.h
index b1020f7154..79524ea7ff 100755
--- a/libraries/fbx/src/GLTFSerializer.h
+++ b/libraries/fbx/src/GLTFSerializer.h
@@ -851,11 +851,10 @@ private:
     QNetworkReply* request(hifi::URL& url, bool isTest);
     bool doesResourceExist(const QString& url);
 
-
     void setHFMMaterial(HFMMaterial& hfmMat, const GLTFMaterial& material);
     HFMTexture getHFMTexture(const GLTFTexture& texture);
+
     void glTFDebugDump();
-    void hfmDebugDump(const HFMModel& hfmModel);
 };
 
 #endif // hifi_GLTFSerializer_h
\ No newline at end of file
diff --git a/libraries/hfm/src/hfm/HFM.cpp b/libraries/hfm/src/hfm/HFM.cpp
index 236445bfda..8fb0720c0d 100644
--- a/libraries/hfm/src/hfm/HFM.cpp
+++ b/libraries/hfm/src/hfm/HFM.cpp
@@ -208,3 +208,138 @@ void HFMModel::computeKdops() {
         }
     }
 }
+
+void HFMModel::debugDump() {
+    qCDebug(modelformat) << "---------------- hfmModel ----------------";
+    qCDebug(modelformat) << "  originalURL =" << originalURL;
+
+    qCDebug(modelformat) << "  hasSkeletonJoints =" << hasSkeletonJoints;
+    qCDebug(modelformat) << "  offset =" << offset;
+
+    qCDebug(modelformat) << "  neckPivot = " << neckPivot;
+
+    qCDebug(modelformat) << "  bindExtents.size() = " << bindExtents.size();
+    qCDebug(modelformat) << "  meshExtents.size() = " << meshExtents.size();
+
+    qCDebug(modelformat) << "  jointIndices.size() =" << jointIndices.size();
+    qCDebug(modelformat) << "  joints.count() =" << joints.count();
+
+    qCDebug(modelformat) << "---------------- Meshes ----------------";
+    qCDebug(modelformat) << "  meshes.count() =" << meshes.count();
+    qCDebug(modelformat) << "  blendshapeChannelNames = " << blendshapeChannelNames;
+    foreach(HFMMesh mesh, meshes) {
+        qCDebug(modelformat) << "    meshpointer =" << mesh._mesh.get();
+        qCDebug(modelformat) << "    meshindex =" << mesh.meshIndex;
+        qCDebug(modelformat) << "    vertices.count() =" << mesh.vertices.size();
+        qCDebug(modelformat) << "    colors.count() =" << mesh.colors.count();
+        qCDebug(modelformat) << "    normals.count() =" << mesh.normals.size();
+        qCDebug(modelformat) << "    tangents.count() =" << mesh.tangents.size();
+        qCDebug(modelformat) << "    colors.count() =" << mesh.colors.count();
+        qCDebug(modelformat) << "    texCoords.count() =" << mesh.texCoords.count();
+        qCDebug(modelformat) << "    texCoords1.count() =" << mesh.texCoords1.count();
+        qCDebug(modelformat) << "    clusterIndices.count() =" << mesh.clusterIndices.count();
+        qCDebug(modelformat) << "    clusterWeights.count() =" << mesh.clusterWeights.count();
+        qCDebug(modelformat) << "    modelTransform =" << mesh.modelTransform;
+        qCDebug(modelformat) << "    parts.count() =" << mesh.parts.count();
+
+        qCDebug(modelformat) << "---------------- Meshes (blendshapes)--------";
+        foreach(HFMBlendshape bshape, mesh.blendshapes) {
+            qCDebug(modelformat) << "    bshape.indices.count() =" << bshape.indices.count();
+            qCDebug(modelformat) << "    bshape.vertices.count() =" << bshape.vertices.count();
+            qCDebug(modelformat) << "    bshape.normals.count() =" << bshape.normals.count();
+        }
+
+        qCDebug(modelformat) << "---------------- Meshes (meshparts)--------";
+        foreach(HFMMeshPart meshPart, mesh.parts) {
+            qCDebug(modelformat) << "        quadIndices.count() =" << meshPart.quadIndices.count();
+            qCDebug(modelformat) << "        triangleIndices.count() =" << meshPart.triangleIndices.count();
+            qCDebug(modelformat) << "        materialID =" << meshPart.materialID;
+        }
+
+        qCDebug(modelformat) << "---------------- Meshes (clusters)--------";
+        qCDebug(modelformat) << "    clusters.count() =" << mesh.clusters.count();
+        foreach(HFMCluster cluster, mesh.clusters) {
+            qCDebug(modelformat) << "        jointIndex =" << cluster.jointIndex;
+            qCDebug(modelformat) << "        inverseBindMatrix =" << cluster.inverseBindMatrix;
+        }
+    }
+
+    qCDebug(modelformat) << "---------------- AnimationFrames ----------------";
+    foreach(HFMAnimationFrame anim, animationFrames) {
+        qCDebug(modelformat) << "  anim.translations = " << anim.translations;
+        qCDebug(modelformat) << "  anim.rotations = " << anim.rotations;
+    }
+
+    qCDebug(modelformat) << "---------------- Mesh model names ----------------";
+    QList<int> mitomona_keys = meshIndicesToModelNames.keys();
+    foreach(int key, mitomona_keys) {
+        qCDebug(modelformat) << "    meshIndicesToModelNames key =" << key << "  val =" << meshIndicesToModelNames[key];
+    }
+
+    qCDebug(modelformat) << "---------------- Materials ----------------";
+    foreach(HFMMaterial mat, materials) {
+        qCDebug(modelformat) << "  mat.materialID =" << mat.materialID;
+        qCDebug(modelformat) << "  diffuseColor =" << mat.diffuseColor;
+        qCDebug(modelformat) << "  diffuseFactor =" << mat.diffuseFactor;
+        qCDebug(modelformat) << "  specularColor =" << mat.specularColor;
+        qCDebug(modelformat) << "  specularFactor =" << mat.specularFactor;
+        qCDebug(modelformat) << "  emissiveColor =" << mat.emissiveColor;
+        qCDebug(modelformat) << "  emissiveFactor =" << mat.emissiveFactor;
+        qCDebug(modelformat) << "  shininess =" << mat.shininess;
+        qCDebug(modelformat) << "  opacity =" << mat.opacity;
+        qCDebug(modelformat) << "  metallic =" << mat.metallic;
+        qCDebug(modelformat) << "  roughness =" << mat.roughness;
+        qCDebug(modelformat) << "  emissiveIntensity =" << mat.emissiveIntensity;
+        qCDebug(modelformat) << "  ambientFactor =" << mat.ambientFactor;
+
+        qCDebug(modelformat) << "  materialID =" << mat.materialID;
+        qCDebug(modelformat) << "  name =" << mat.name;
+        qCDebug(modelformat) << "  shadingModel =" << mat.shadingModel;
+        qCDebug(modelformat) << "  _material =" << mat._material.get();
+
+        qCDebug(modelformat) << "  normalTexture =" << mat.normalTexture.filename;
+        qCDebug(modelformat) << "  albedoTexture =" << mat.albedoTexture.filename;
+        qCDebug(modelformat) << "  opacityTexture =" << mat.opacityTexture.filename;
+
+        qCDebug(modelformat) << "  lightmapParams =" << mat.lightmapParams;
+
+        qCDebug(modelformat) << "  isPBSMaterial =" << mat.isPBSMaterial;
+        qCDebug(modelformat) << "  useNormalMap =" << mat.useNormalMap;
+        qCDebug(modelformat) << "  useAlbedoMap =" << mat.useAlbedoMap;
+        qCDebug(modelformat) << "  useOpacityMap =" << mat.useOpacityMap;
+        qCDebug(modelformat) << "  useRoughnessMap =" << mat.useRoughnessMap;
+        qCDebug(modelformat) << "  useSpecularMap =" << mat.useSpecularMap;
+        qCDebug(modelformat) << "  useMetallicMap =" << mat.useMetallicMap;
+        qCDebug(modelformat) << "  useEmissiveMap =" << mat.useEmissiveMap;
+        qCDebug(modelformat) << "  useOcclusionMap =" << mat.useOcclusionMap;
+    }
+
+    qCDebug(modelformat) << "---------------- Joints ----------------";
+    foreach(HFMJoint joint, joints) {
+        qCDebug(modelformat) << "    shapeInfo.avgPoint =" << joint.shapeInfo.avgPoint;
+        qCDebug(modelformat) << "    shapeInfo.debugLines =" << joint.shapeInfo.debugLines;
+        qCDebug(modelformat) << "    shapeInfo.dots =" << joint.shapeInfo.dots;
+        qCDebug(modelformat) << "    shapeInfo.points =" << joint.shapeInfo.points;
+
+        qCDebug(modelformat) << "    parentIndex" << joint.parentIndex;
+        qCDebug(modelformat) << "    distanceToParent" << joint.distanceToParent;
+        qCDebug(modelformat) << "    translation" << joint.translation;
+        qCDebug(modelformat) << "    preTransform" << joint.preTransform;
+        qCDebug(modelformat) << "    preRotation" << joint.preRotation;
+        qCDebug(modelformat) << "    rotation" << joint.rotation;
+        qCDebug(modelformat) << "    postRotation" << joint.postRotation;
+        qCDebug(modelformat) << "    postTransform" << joint.postTransform;
+        qCDebug(modelformat) << "    transform" << joint.transform;
+        qCDebug(modelformat) << "    rotationMin" << joint.rotationMin;
+        qCDebug(modelformat) << "    rotationMax" << joint.rotationMax;
+        qCDebug(modelformat) << "    inverseDefaultRotation" << joint.inverseDefaultRotation;
+        qCDebug(modelformat) << "    inverseBindRotation" << joint.inverseBindRotation;
+        qCDebug(modelformat) << "    bindTransform" << joint.bindTransform;
+        qCDebug(modelformat) << "    name" << joint.name;
+        qCDebug(modelformat) << "    isSkeletonJoint" << joint.isSkeletonJoint;
+        qCDebug(modelformat) << "    bindTransformFoundInCluster" << joint.hasGeometricOffset;
+        qCDebug(modelformat) << "    bindTransformFoundInCluster" << joint.geometricTranslation;
+        qCDebug(modelformat) << "    bindTransformFoundInCluster" << joint.geometricRotation;
+        qCDebug(modelformat) << "    bindTransformFoundInCluster" << joint.geometricScaling;
+    }
+}
diff --git a/libraries/hfm/src/hfm/HFM.h b/libraries/hfm/src/hfm/HFM.h
index d37d509d38..aadc9e49ab 100644
--- a/libraries/hfm/src/hfm/HFM.h
+++ b/libraries/hfm/src/hfm/HFM.h
@@ -340,6 +340,8 @@ public:
     QMap<int, glm::quat> jointRotationOffsets;
     std::vector<ShapeVertices> shapeVertices;
     FlowData flowData;
+
+    void debugDump();
 };
 
 };