 		_WebSocket = if window['MozWebSocket'] then MozWebSocket else WebSocket
 
 		unless @loadSocket
-			socket = @loadSocket = new _WebSocket("ws://#{document.location.host}/binary/socket")
+			socket = @loadSocket = new _WebSocket("ws://#{document.location.host}/binary/ws")
 			socket.binaryType = 'arraybuffer'
 			socket.onclose = (code, reason) ->
 				alert("#{code}: #{reason}")


		_.defer =>
			
			_preloadVertices = @preloadVertices
			_preloadRadius   = @PRELOAD_RADIUS
			# Looks like `preload_vertices` hasn't been populated yet.
			# This is what ppl call lazy initialization.
			if _preloadVertices.length == 0
				for z in [-1..10] by 3
					for x in [-_preloadRadius.._preloadRadius] by 5
						for y in [-_preloadRadius.._preloadRadius] by 5
							_preloadVertices.push x, y, z

			preloadCheckHits     = 0
			preloadCheckCount    = 0
			preloadCheckVertices = M4x4.transformPointsAffine matrix, _preloadVertices

			for i in [0...preloadCheckVertices.length] by 3
				x = preloadCheckVertices[i]
				y = preloadCheckVertices[i + 1]
				z = preloadCheckVertices[i + 2]

				if x >= 0 and y >= 0 and z >= 0 
					preloadCheckCount++
					preloadCheckHits++ if @getColor(x, y, z) > 0
			
			if preloadCheckHits / preloadCheckCount < @PRELOAD_TOLERANCE
				@pull(matrix, (err) ->
					done()
					callback() if !err and callback
				)
			else
				done()
			

	pull : (matrix, callback) ->


	PRELOAD_TOLERANCE : 0.9
	PRELOAD_RADIUS : 20
	
	# Use this method to let us know when you've changed your spot. Then we'll try to 
	# preload some data. 
	#
