     }
     
     //MARK: Actions
-    
     private func swipedAction(direction: SwipeResultDirection) {
         animating = true
-        visibleCards.removeAtIndex(0)
+        visibleCards.removeFirst()
         
         currentCardNumber++
         let shownCardsCount = currentCardNumber + countOfVisibleCards

        return frame
    }
    
    private func moveOtherCardsWithFinishPercent(percent: CGFloat) {
        if visibleCards.count > 1 {
            
            let topCardFrame = frameForCardAtIndex(0)
            for index in 1..<visibleCards.count {
                let previousCardFrame = frameForCardAtIndex(UInt(index - 1))
                var frame = frameForCardAtIndex(UInt(index))
                
                let distanceToMoveY: CGFloat = (frame.origin.y - previousCardFrame.origin.y) * (percent / 100)
                
                frame.origin.y -= distanceToMoveY
                
                let distanceToMoveX: CGFloat = (previousCardFrame.origin.x - frame.origin.x) * (percent / 100)
                
                frame.origin.x += distanceToMoveX
                
                let widthDelta = (previousCardFrame.size.width - frame.size.width) * (percent / 100)
                let heightDelta = (previousCardFrame.size.height - frame.size.height) * (percent / 100)
                
                frame.size.width += widthDelta
                frame.size.height += heightDelta
                
                let widthScale = frame.width / topCardFrame.width
                let heightScale = frame.height / topCardFrame.height
                
                let card = visibleCards[index]

                card.layer.transform = CATransform3DScale(CATransform3DIdentity, widthScale, heightScale, 1.0)
                frame.size = topCardFrame.size
                card.frame = frame
                
                //For fully visible next card, when moving top card
                if shouldTransparentize {
                    if index == 1 {
                        card.alpha = alphaValueSemiTransparent + (alphaValueOpaque - alphaValueSemiTransparent) * percent/100
                    }
                }
            }

    }
    
    //MARK: Animations
    public func applyAppearAnimation() {
        userInteractionEnabled = false
        animating = true
