     var tap = UITapGestureRecognizer(target: self, action: "onTap:")
     self.greenBox!.addGestureRecognizer(tap)
     
+    // add snap gesture recognizer
+    self.snap = UISnapBehavior(item: self.greenBox!, snapToPoint: CGPointMake(CGRectGetMidX(self.view.bounds), CGRectGetMidY(self.view.bounds)))
+    
+    var pan = UIPanGestureRecognizer(target: self, action: "onPan:")
+    self.greenBox!.addGestureRecognizer(pan)
   }
   
   override func didReceiveMemoryWarning() {

    // Dispose of any resources that can be recreated.
  }
  
  func onTap(tap: UITapGestureRecognizer) {
    self.push!.active = false
    self.push!.setAngle(CGFloat(M_PI / -2), magnitude: 10.0)
    self.push!.active = true

  var animator: UIDynamicAnimator?
  var collision: UICollisionBehavior?
  var push: UIPushBehavior?
  var snap: UISnapBehavior?
  
  override func viewDidLoad() {
    super.viewDidLoad()
