     
     private func recycleCard(card : CardViewController) {
         card.prepareForReuse()
-        recycledCards.append(card)
+        recycledCard = card
     }
 }

    var offScreenCard : CardViewController?

    // Recucled card
    var recycledCards = [CardViewController]()

    // All cards, including those on-screen and those already recycled
    var cachedCards = [CardViewController]()

    }

    func getRecycledCardViewController() -> CardViewController? {
        if recycledCard != nil {
            recycledCard!.withinVisibleRange = true
        }
        return recycledCard
    }
    
    private func getCardFromDataSource(index : Int) -> CardViewController {
