private static void upkeep_Lord_of_the_Pit() {
        /*
		 * At the beginning of your upkeep, sacrifice a creature other than
		 * Lord of the Pit. If you can't, Lord of the Pit deals 7 damage to you.
		 */
        final Player player = AllZone.getPhase().getPlayerTurn();
        CardList lords = AllZoneUtil.getPlayerCardsInPlay(player, "Lord of the Pit");
        lords.addAll(AllZoneUtil.getPlayerCardsInPlay(player, "Liege of the Pit"));
        final CardList cards = lords;

        for (int i = 0; i < cards.size(); i++) {
            final Card c = cards.get(i);
            if (c.isFaceDown()) continue;

            final Ability sacrificeCreature = new Ability(c, "") {
                @Override
                public void resolve() {
                    //TODO: this should handle the case where you sacrifice 2 LOTPs to each other
                    CardList creatures = AllZoneUtil.getCreaturesInPlay(player);
                    creatures.remove(c);
                    if (player.isHuman()) {
                        AllZone.getInputControl().setInput(PlayerUtil.input_sacrificePermanent(creatures, c.getName() + " - Select a creature to sacrifice."));
                    } else { //computer
                        Card target = CardFactoryUtil.AI_getWorstCreature(creatures);
                        AllZone.getGameAction().sacrifice(target);
                    }
                }//resolve
            };

            final Ability sevenDamage = new Ability(c, "") {
                @Override
                public void resolve() {
                    player.addDamage(7, c);
                }
            };

            CardList creatures = AllZoneUtil.getCreaturesInPlay(player);
            creatures.remove(c);
            if (creatures.size() == 0) {
                //there are no creatures to sacrifice, so we must do the 7 damage

                StringBuilder sb = new StringBuilder();
                sb.append(c.getName()).append(" - deals 7 damage to controller");
                sevenDamage.setStackDescription(sb.toString());

                AllZone.getStack().addSimultaneousStackEntry(sevenDamage);

            } else {

                StringBuilder sb = new StringBuilder();
                sb.append(c.getName()).append(" - sacrifice a creature.");
                sacrificeCreature.setStackDescription(sb.toString());

                AllZone.getStack().addSimultaneousStackEntry(sacrificeCreature);

            }
        }//end for
    }