diff --git a/Mage.Sets/src/mage/cards/c/Crackleburr.java b/Mage.Sets/src/mage/cards/c/Crackleburr.java
index aa7b0a4963..f3a6900fbd 100644
--- a/Mage.Sets/src/mage/cards/c/Crackleburr.java
+++ b/Mage.Sets/src/mage/cards/c/Crackleburr.java
@@ -33,7 +33,7 @@ import mage.target.common.TargetCreaturePermanent;
 public final class Crackleburr extends CardImpl {
     
     private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped red creatures you control");
-    private static final FilterControlledCreaturePermanent filter2 = new FilterControlledCreaturePermanent("tapped blue creatures you control");
+    private static final FilterControlledCreaturePermanent filter2 = new FilterControlledCreaturePermanent("tapped blue creature you control");
     
     static {
         filter.add(new ColorPredicate(ObjectColor.RED));
diff --git a/Mage.Sets/src/mage/cards/h/HaloFountain.java b/Mage.Sets/src/mage/cards/h/HaloFountain.java
new file mode 100644
index 0000000000..1a28be0903
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/h/HaloFountain.java
@@ -0,0 +1,70 @@
+package mage.cards.h;
+
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.common.TapSourceCost;
+import mage.abilities.costs.common.UntapTargetCost;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.common.CreateTokenEffect;
+import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import mage.abilities.effects.common.WinGameSourceControllerEffect;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.CardType;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.filter.common.FilterControlledPermanent;
+import mage.filter.predicate.permanent.TappedPredicate;
+import mage.game.permanent.token.CitizenGreenWhiteToken;
+import mage.target.common.TargetControlledPermanent;
+
+import java.util.UUID;
+
+/**
+ * @author TheElk801
+ */
+public final class HaloFountain extends CardImpl {
+
+    private static final FilterControlledPermanent filter
+            = new FilterControlledCreaturePermanent("tapped creature you control");
+
+    static {
+        filter.add(TappedPredicate.TAPPED);
+    }
+
+    public HaloFountain(UUID ownerId, CardSetInfo setInfo) {
+        super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}{W}");
+
+        // {W}, {T}, Untap an tapped creature you control: Create a 1/1 green and white Citizen creature token.
+        Ability ability = new SimpleActivatedAbility(
+                new CreateTokenEffect(new CitizenGreenWhiteToken()), new ManaCostsImpl<>("{W}")
+        );
+        ability.addCost(new TapSourceCost());
+        ability.addCost(new UntapTargetCost(new TargetControlledPermanent(filter)));
+        this.addAbility(ability);
+
+        // {W}{W}, {T}, Untap two tapped creatures you control: Draw a card.
+        ability = new SimpleActivatedAbility(
+                new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{W}{W}")
+        );
+        ability.addCost(new TapSourceCost());
+        ability.addCost(new UntapTargetCost(new TargetControlledPermanent(2, filter)));
+        this.addAbility(ability);
+
+        // {W}{W}{W}{W}{W}, {T}, Untap fifteen tapped creatures you control: You win the game.
+        ability = new SimpleActivatedAbility(
+                new WinGameSourceControllerEffect(), new ManaCostsImpl<>("{W}{W}{W}{W}{W}")
+        );
+        ability.addCost(new TapSourceCost());
+        ability.addCost(new UntapTargetCost(new TargetControlledPermanent(15, filter)));
+        this.addAbility(ability);
+    }
+
+    private HaloFountain(final HaloFountain card) {
+        super(card);
+    }
+
+    @Override
+    public HaloFountain copy() {
+        return new HaloFountain(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java b/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java
index 84aab5d125..6ec24b0830 100644
--- a/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java
+++ b/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java
@@ -40,6 +40,7 @@ public final class StreetsOfNewCapenna extends ExpansionSet {
         cards.add(new SetCardInfo("Forest", 270, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS));
         cards.add(new SetCardInfo("Gala Greeters", 148, Rarity.RARE, mage.cards.g.GalaGreeters.class));
         cards.add(new SetCardInfo("Getaway Car", 237, Rarity.RARE, mage.cards.g.GetawayCar.class));
+        cards.add(new SetCardInfo("Halo Fountain", 15, Rarity.MYTHIC, mage.cards.h.HaloFountain.class));
         cards.add(new SetCardInfo("Island", 264, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));
         cards.add(new SetCardInfo("Jetmir's Garden", 250, Rarity.RARE, mage.cards.j.JetmirsGarden.class));
         cards.add(new SetCardInfo("Jetmir, Nexus of Revels", 193, Rarity.MYTHIC, mage.cards.j.JetmirNexusOfRevels.class));
diff --git a/Mage/src/main/java/mage/abilities/costs/common/UntapTargetCost.java b/Mage/src/main/java/mage/abilities/costs/common/UntapTargetCost.java
index ab2e938c13..2206a4c73b 100644
--- a/Mage/src/main/java/mage/abilities/costs/common/UntapTargetCost.java
+++ b/Mage/src/main/java/mage/abilities/costs/common/UntapTargetCost.java
@@ -1,29 +1,26 @@
-
 package mage.abilities.costs.common;
 
-import mage.constants.Outcome;
 import mage.abilities.Ability;
+import mage.abilities.costs.Cost;
 import mage.abilities.costs.CostImpl;
+import mage.constants.Outcome;
 import mage.game.Game;
 import mage.game.permanent.Permanent;
 import mage.target.common.TargetControlledPermanent;
-
-import java.util.List;
-import java.util.UUID;
-import mage.abilities.costs.Cost;
 import mage.util.CardUtil;
 
+import java.util.UUID;
+
 /**
- *
  * @author jeffwadsworth
  */
 public class UntapTargetCost extends CostImpl {
 
-    TargetControlledPermanent target;
+    private final TargetControlledPermanent target;
 
     public UntapTargetCost(TargetControlledPermanent target) {
         this.target = target;
-        this.text = "Untap " + CardUtil.numberToText(target.getMaxNumberOfTargets(), "") + ' ' + target.getTargetName();
+        this.text = makeText(target);
     }
 
     public UntapTargetCost(final UntapTargetCost cost) {
@@ -33,14 +30,15 @@ public class UntapTargetCost extends CostImpl {
 
     @Override
     public boolean pay(Ability ability, Game game, Ability source, UUID controllerId, boolean noMana, Cost costToPay) {
-        if (target.choose(Outcome.Untap, controllerId, source.getSourceId(), source, game)) {
-            for (UUID targetId : (List<UUID>) target.getTargets()) {
-                Permanent permanent = game.getPermanent(targetId);
-                if (permanent == null) {
-                    return false;
-                }
-                paid |= permanent.untap(game);
+        if (!target.choose(Outcome.Untap, controllerId, source.getSourceId(), source, game)) {
+            return paid;
+        }
+        for (UUID targetId : target.getTargets()) {
+            Permanent permanent = game.getPermanent(targetId);
+            if (permanent == null) {
+                return false;
             }
+            paid |= permanent.untap(game);
         }
         return paid;
     }
@@ -55,4 +53,14 @@ public class UntapTargetCost extends CostImpl {
         return new UntapTargetCost(this);
     }
 
+    private static String makeText(TargetControlledPermanent target) {
+        StringBuilder sb = new StringBuilder("untap ");
+        if (target.getMaxNumberOfTargets() > 1) {
+            sb.append(CardUtil.numberToText(target.getMaxNumberOfTargets()));
+            sb.append(target.getTargetName().replace("you control", "s you control"));
+        } else {
+            sb.append(CardUtil.addArticle(target.getTargetName()));
+        }
+        return sb.toString();
+    }
 }