change Deck to use ArrayList<Card> instead of Card[]