     
     override func touchesEnded(touches: NSSet!, withEvent event: UIEvent!) {
         if let point = touches.anyObject().locationInNode?(self) {
-            if let sprite = draggedSprite {
+            if let sprite = gameState?.draggedSprite {
                 var found = false
                 var fallback: SquareSprite?     // Closest square to drop tile if hovered square is filled
                 var fallbackOverlap: CGFloat = 0

                        }
                    }
                }
                originalPoint = nil
                draggedSprite = nil
            }
        }
    }
    
    override func touchesCancelled(touches: NSSet!, withEvent event: UIEvent!) {
        if let point = touches.anyObject().locationInNode?(self) {
            if let sprite = draggedSprite {
                if let origPoint = self.originalPoint {
                    sprite.position = origPoint
                } else {
                    sprite.position = point

                        if squareSprite.intersectsNode(sprite) {
                            if squareSprite.isEmpty() {
                                if squareSprite.frame.contains(point) {
                                    if let originalPoint = gameState?.originalPoint {
                                        squareSprite.dropTileSprite(sprite, originalPoint: originalPoint)
                                        found = true
                                        break
