         if dragging {
             dragDelegate?.verticalDragFinished(origin: firstTouch,
                                                moved: moved,
-                                               lastMove: CGSizeMake(moved.width - prevMoved.width, moved.height - prevMoved.height),
+                                               lastMove: lastMove,
                                                duration: NSDate().timeIntervalSince1970 - prevTimestamp)
             dragging = false
         }

    private var dragging: Bool = false
    private var prevMoved: CGSize = CGSizeZero
    private var prevTimestamp: NSTimeInterval = 0
    
    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent) {
        super.touchesBegan(touches, withEvent: event)

    private func dragDidChange(moved: CGSize) {
        if dragging {
            self.state = .Changed
            lastMove = CGSizeMake(moved.width - prevMoved.width, moved.height - prevMoved.height)
            prevMoved = moved
            prevTimestamp = NSDate().timeIntervalSince1970
            
