some refactoring to allow for swapping out of card decks