             let tapRecognizer = UITapGestureRecognizer(target: self, action: "zoomLayout:")
             myCollectionView.addGestureRecognizer(tapRecognizer)
             
-            let longPressRecognizer = UILongPressGestureRecognizer(target: self, action: "handleLongPress:")
-            longPressRecognizer.delegate = self
-            myCollectionView.addGestureRecognizer(longPressRecognizer)
+            longPressRecognizer = UILongPressGestureRecognizer(target: self, action: "handleLongPress:")
+            longPressRecognizer!.delegate = self
+            myCollectionView.addGestureRecognizer(longPressRecognizer!)
+
+            panRecognizer = UIPanGestureRecognizer(target: self, action: "handlePan:")
+            panRecognizer!.delegate = self
+            myCollectionView.addGestureRecognizer(panRecognizer!)
         }
         
         seedData();

            if let cell = cellForGesture(gesture) {
                grabCell(cell, gesture:gesture)
            }
        case UIGestureRecognizerState.Changed:
            if let dv = draggingView {
                dv.center = gesture.locationInView(view)
            }
        case UIGestureRecognizerState.Ended, UIGestureRecognizerState.Cancelled:
            if let dv = draggingView {
                UIView.animateWithDuration(0.2, animations: { () -> Void in

                    dv.alpha = 1
                }, completion: { (Bool) -> Void in
                    dv.removeFromSuperview()
                    self.draggingView = nil
                    self.dragOriginalCenter = nil
                })
            }
        default:
            break
        }
    }
    
    func handlePan(gesture: UIPanGestureRecognizer) {
        switch gesture.state {
        case UIGestureRecognizerState.Began, UIGestureRecognizerState.Changed:
            if let dv = draggingView {
                let translation = gesture.translationInView(view)
                dv.center = CGPoint(x: dragOriginalCenter!.x + translation.x, y: dragOriginalCenter!.y + translation.y)
            }
        default:
            break
        }
    }
    
