 public class JHSwipeView: UIView {
     
     // weak to prevent retain cycles
-    //    var personCardDelegate: PersonCardDelegate?
+    var swipeViewDelegate: JHSwipeViewDelegate?
     
     var lastLocation:CGPoint = CGPointMake(0, 0)
     var lastOriginLocation:CGPoint = CGPointMake(0, 0)

        self.bringSubviewToFront(borderView)
    }
    
    //    override public func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
    //        // Promote the touched view
    //        self.superview?.bringSubviewToFront(self)
    //        lastLocation = self.center
    //    }
    
    public override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
        let touch = touches.first! as UITouch
        
        // todo todo todo
        self.lastOriginLocation = touch.previousLocationInView(self.superview)
    }
    //    override public func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
    //        self.lastOriginLocation = (touches.anyObject()?.previousLocationInView(self.superview))!
    //    }
    
    func initView() {
        self.applyGesture()

        // arctan
        let rotationRadians = atan2(tanY,tanX)
        self.layer.transform = RotationTransform(rotationRadians, offset: 20.0)
        
        var alpha = abs(tanY/tanX) * 3 + 0.2
        alpha = alpha < 1 ? alpha : 1
