private int pileIndexToSendTo(Card toSendUp) {
        List<List<Card>> topRow = game.getTopRow();
        for (int i = 0; i < topRow.size(); i++) {
            List<Card> pile = topRow.get(i);
            if (toSendUp.getRank() == Card.Rank.ACE) {
                //find empty
                if (pile.isEmpty()) {
                    return i;
                }
            } else if (!pile.isEmpty()) {
                Card topOfPile = pile.get(pile.size() - 1);
                if (toSendUp.matchesAndOneAbove(topOfPile)) {
                    return i;
                }
            }
        }
        return -1;
    }