                 fast enough for the swipe to work.
             */
             
-            if ((-1.0 * swipableRect.origin.y < self.contentView.frame.size.height) && (velocity.y > -1500.0)) {
+            if ((-1.0 * swipableRect.origin.y < contentView.frame.size.height) && (velocity.y > -1500.0)) {
                 UIView.animateWithDuration(0.5,
                     delay: 0,
-                    usingSpringWithDamping: 0.42,
+                    usingSpringWithDamping: 0.33,
                     initialSpringVelocity: 0.0,
                     options: UIViewAnimationOptions.CurveEaseInOut,
-                    animations: { () -> Void in
-                        self.swipeableView.frame = self.contentView.frame
-                        self.swipeableView.alpha = 1.0
+                    animations: { [weak self]() -> Void in
+                        self!.swipeableView.frame = self!.contentView.frame
+                        self!.swipeableView.alpha = 1.0
                     }, completion: nil)
             } else {
                 let fadeAwayLine = -1.0 * UIScreen.mainScreen().bounds.size.height / 1.5;

                    0.33,
                    delay: 0,
                    options: UIViewAnimationOptions.CurveEaseInOut,
                    animations: { () -> Void in
                        self.swipeableView.frame = CGRectMake(swipableRect.origin.x,
                            fadeAwayLine,
                            swipableRect.size.width,
                            swipableRect.size.height)
                        self.swipeableView.alpha = 0.0
                    }, completion:{ (finished: Bool) -> Void in
                        println("finished move and fade away")
                } )

    
    override func prepareForReuse() {
        panUpGestureRecognizer = nil
        swipeableView!.frame = contentView.frame
        swipeableView!.alpha = 1.0
    }
    
    class func cellID() -> String {
