     //  of the DeckView.
     public func moveMovedCardBackToDeckViewTop() {
         if self.topCardIndex > 0 {
-            if let lastMovedCardView: EPCardView = self.cardViews[self.topCardIndex-1] {
+            if let lastMovedCardView: EPCardView = self.deck[self.topCardIndex-1] {
                 lastMovedCardView.moveToCenter()
             }
         }

    private func calculateCardAlphas() {
        var tmpComputedCardAlphas: [CGFloat] = []
        
        for (i, _) in self.cardViews.enumerate() {
            var tmpCardAlpha = 1 - CGFloat(i) * self.deckViewAnimationManager.deckViewCardAlphaDelta
            
            if tmpCardAlpha > 1.0 {

    func cardView(cardView: EPCardView, afterSwipeMovedTo cardViewEndPoint: CardViewEndPoint) {
        
        if cardViewEndPoint == .Center {
            let cardViewsToTransform: [EPCardView] = Array(self.deck.suffixFrom(self.topCardIndex))
            
            for (i, cardViewToTransform) in cardViewsToTransform.enumerate() {
                UIView.animateWithDuration(self.deckViewAnimationManager.deckViewAnimationDuration,
