             tableau[index] += cards
         default: break
         }
-    }
-    
-    //
-    // Return stack that card came from (for undo information)
-    //
-    func didDropFanXXX(cards : [Card], onTableau i : Int) -> [Card]{
-        let sourceStack = removeTopCards(cards)  // remove fan from whereever it came
-        tableau[i] += cards
-        return sourceStack!
-    }
-    
-    func undoDropFanXXX(cards : [Card],
-                     inout byMovingItFromStack source : [Card],
-                     inout toStack dest : [Card]) {
-        source.removeLast(cards.count)
-        dest += cards
     }
     
     func canFlipCard(card : Card) -> Bool {

    private func findAndRemoveCardFromStack(card : Card) -> CardStack {
        let cardStack = findCardStackWithCard(card)!
        switch(cardStack) {
        case CardStack.Waste:
            waste.removeLast()
        case CardStack.Foundation(let index):
            foundation[index].removeLast()
        case CardStack.Tableau(let index):
            tableau[index].removeLast()
        case CardStack.Stock:
            stock.removeLast()
        }
        return cardStack

        return cardStack
    }
    
}


