     data.materials[0].vertexColors = THREE.VertexColors
     data.materials[0].depthTest = true
 
-    _extend(data.materials[0], scope.materialOptions)
-    _extend(data.geometry,     scope.geometryOptions)
+    Leap._.extend(data.materials[0], scope.materialOptions)
+    Leap._.extend(data.geometry,     scope.geometryOptions)
     handMesh = new THREE.SkinnedMesh(data.geometry, data.materials[0])
     handMesh.positionRaw = new THREE.Vector3
     handMesh.fingers = handMesh.children[0].children

      for leapHand in frame.hands

        # this works around a subtle bug where non-extended fingers would appear after extended ones
        leapHand.fingers = _sortBy(leapHand.fingers, (finger)-> finger.id)
        handMesh = leapHand.data('riggedHand.mesh')
        palm = handMesh.children[0]


# will be used only if a THREE.js scene is not passed in for the hand.

`
// http://stackoverflow.com/questions/6902280/cross-browser-dom-ready
function bindReady(handler){
    var called = false
