 				fill: "#000"
 			})
 
+			@canvas.addChild(@shoot)
+			@shoot.addChild(shootText)
+
 			@canvas.addChild(@boost)
 			@boost.addChild(boostText)
 
 			@canvas.addChild(@fire)
 			@fire.addChild(fireText)
 
-			@canvas.addChild(@shoot)
-
-			#@fire.bind("tap click",  , false )
+			window.requestAnimationFrame(@bindEvents())
+
+		bindEvents: () =>
+
+			@boost.bind("touchstart", () => @sendBoostEvent(true))
+			@boost.bind("touchend", () => @sendBoostEvent(false))
+			@boost.bind("touchcancel", () => @sendBoostEvent(false))
+
+			@shoot.bind("touchstart", () => @sendShootEvent(true))
+			@shoot.bind("touchend", () => @sendShootEvent(false))
+			@shoot.bind("touchcancel", () => @sendShootEvent(false))
+
 			@fire.bind("touchenter", @initiatePoke, false )
 			@fire.bind("touchmove", @handlePoke, false )
 			@fire.bind("touchend", @stopPoke, false )
 			#@fire.bind("touchcancel", @stopPoke, false )
 
+			#window.requestAnimationFrame(@bindEvents())
+
 		initiatePoke: (event) =>
 			console.log "start: ", event.x, event.y
 			@poke.x = event.x
 			@poke.y = event.y
-			#@sendFireEvent()
 
 		handlePoke: (event) =>
 			sendPoke = {}
-			sendPoke.x = event.x - @poke.x
-			sendPoke.y = event.y - @poke.y
+			sendPoke.x = Math.round((event.x - @poke.x) / 4)
+			sendPoke.y = Math.round((event.y - @poke.y) / 4)
 			console.log sendPoke
 			@node.getPeers()[0].emit('controller.cannon', sendPoke)
 


			if width > height

				@boost = @canvas.display.rectangle({
					x: width / 4,
					y: height / 4,
					origin: { x: "center", y: "center" },
					width: width / 2,
					height: height / 2,
					fill: "#0aa"
				})
				@shoot = @canvas.display.rectangle({
					x: width / 4,
					y: height * 3 / 4,
					origin: { x: "center", y: "center" },
					width: width / 2,
					height: height / 2,
					fill: "#0ef"
				})
				@fire = @canvas.display.rectangle({
					x: width * 3 / 4,

		# 
		sendBoostEvent: ( boost ) ->
			if boost isnt @_lastBoost
				console.log "boost ", boost
				@_lastBoost = boost
				@node.getPeers()[0].emit('controller.boost', boost)

