     queue.length = 0
 
   pull : ->
-    { queue, pullLoadingCount, PULL_DOWNLOAD_LIMIT } = @
+    { queue, PULL_DOWNLOAD_LIMIT } = @
 
-    while pullLoadingCount < PULL_DOWNLOAD_LIMIT and queue.length
-
+    while @pullLoadingCount < PULL_DOWNLOAD_LIMIT and queue.length
       [x, y, z, zoomStep] = @removeFirst()
 
       unless Cube.isBucketSetByAddress3(x, y, z, zoomStep)


  pullBucket : (bucket_x, bucket_y, bucket_z, zoomStep) ->

    pullLoadingCount = @pullLoadingCount

    console.log "requesting: ", [bucket_x, bucket_y, bucket_z]
    Cube.setBucketByAddress3(bucket_x, bucket_y, bucket_z, zoomStep, Cube.LOADING_PLACEHOLDER_OBJECT)
    pullLoadingCount++

    @loadBucketByAddress3(bucket_x, bucket_y, bucket_z, zoomStep).then(


        Cube.setBucketByAddress3(bucket_x, bucket_y, bucket_z, zoomStep, null)

    ).always =>
      @pullLoadingCount--
      @pull()

  loadBucketSocket : _.once ->
