diff --git a/Mage.Sets/src/mage/cards/b/BrassTalonChimera.java b/Mage.Sets/src/mage/cards/b/BrassTalonChimera.java
index fc3b22aba5..7620727df5 100644
--- a/Mage.Sets/src/mage/cards/b/BrassTalonChimera.java
+++ b/Mage.Sets/src/mage/cards/b/BrassTalonChimera.java
@@ -53,7 +53,7 @@ import java.util.UUID;
  */
 public class BrassTalonChimera extends CardImpl {
 
-    private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Chimera creature you control");
+    private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Chimera creature");
 
     static {
         filter.add(new SubtypePredicate(SubType.CHIMERA));
diff --git a/Mage.Sets/src/mage/cards/c/CallToGlory.java b/Mage.Sets/src/mage/cards/c/CallToGlory.java
index 9d678be515..b2c31e6112 100644
--- a/Mage.Sets/src/mage/cards/c/CallToGlory.java
+++ b/Mage.Sets/src/mage/cards/c/CallToGlory.java
@@ -28,21 +28,16 @@
 package mage.cards.c;
 
 import java.util.UUID;
-import mage.abilities.Ability;
-import mage.abilities.effects.OneShotEffect;
+import mage.abilities.effects.common.UntapAllEffect;
 import mage.abilities.effects.common.continuous.BoostControlledEffect;
 import mage.cards.CardImpl;
 import mage.cards.CardSetInfo;
 import mage.constants.CardType;
 import mage.constants.Duration;
-import mage.constants.Outcome;
 import mage.constants.SubType;
 import mage.filter.StaticFilters;
 import mage.filter.common.FilterCreaturePermanent;
 import mage.filter.predicate.mageobject.SubtypePredicate;
-import mage.game.Game;
-import mage.game.permanent.Permanent;
-import mage.players.Player;
 
 /**
  * @author Loki
@@ -57,8 +52,9 @@ public class CallToGlory extends CardImpl {
 
     public CallToGlory(UUID ownerId, CardSetInfo setInfo) {
         super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{W}");
-
-        this.getSpellAbility().addEffect(new CalltoGloryFirstEffect());
+        
+        //Untap all creatures you control. Samurai creatures you control get +1/+1 until end of turn.
+        this.getSpellAbility().addEffect(new UntapAllEffect(StaticFilters.FILTER_CONTROLLED_CREATURE));
         this.getSpellAbility().addEffect(new BoostControlledEffect(1, 1, Duration.EndOfTurn, filter, false));
     }
 
@@ -70,35 +66,4 @@ public class CallToGlory extends CardImpl {
     public CallToGlory copy() {
         return new CallToGlory(this);
     }
-
-}
-
-class CalltoGloryFirstEffect extends OneShotEffect {
-
-    public CalltoGloryFirstEffect() {
-        super(Outcome.Untap);
-        staticText = "Untap all creatures you control";
-    }
-
-    public CalltoGloryFirstEffect(final CalltoGloryFirstEffect effect) {
-        super(effect);
-    }
-
-    @Override
-    public boolean apply(Game game, Ability source) {
-        Player player = game.getPlayer(source.getControllerId());
-        if (player != null) {
-            for (Permanent creature : game.getBattlefield().getAllActivePermanents(StaticFilters.FILTER_PERMANENT_CREATURE, player.getId(), game)) {
-                creature.untap(game);
-            }
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public CalltoGloryFirstEffect copy() {
-        return new CalltoGloryFirstEffect(this);
-    }
-
 }
diff --git a/Mage.Sets/src/mage/cards/e/ExaltedDragon.java b/Mage.Sets/src/mage/cards/e/ExaltedDragon.java
index 55ee01bf79..941f15b0e4 100644
--- a/Mage.Sets/src/mage/cards/e/ExaltedDragon.java
+++ b/Mage.Sets/src/mage/cards/e/ExaltedDragon.java
@@ -80,7 +80,7 @@ class ExaltedDragonCostToAttackBlockEffect extends PayCostToAttackBlockEffectImp
     ExaltedDragonCostToAttackBlockEffect() {
         super(Duration.WhileOnBattlefield, Outcome.Detriment, RestrictType.ATTACK,
                 new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("a land"))));
-        staticText = "{this} can't attack unless you sacrifice a land <i>(This cost is paid as attackers are declared.)</i>";
+        staticText = "{this} can't attack unless you sacrifice a land. <i>(This cost is paid as attackers are declared.)</i>";
     }
 
     ExaltedDragonCostToAttackBlockEffect(ExaltedDragonCostToAttackBlockEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/k/KaerveksSpite.java b/Mage.Sets/src/mage/cards/k/KaerveksSpite.java
index 349fa1ccf8..8602a8c41b 100644
--- a/Mage.Sets/src/mage/cards/k/KaerveksSpite.java
+++ b/Mage.Sets/src/mage/cards/k/KaerveksSpite.java
@@ -16,7 +16,7 @@ public class KaerveksSpite extends CardImpl {
         super(ownerId, cardSetInfo, new CardType[]{CardType.INSTANT}, "{B}{B}{B}");
 
         // As an additional cost to cast Kaervek's Spite, sacrifice all permanents you control and discard your hand.
-        this.getSpellAbility().addCost(new SacrificeAllCost(new FilterControlledPermanent("all permanents you control")));
+        this.getSpellAbility().addCost(new SacrificeAllCost(new FilterControlledPermanent("permanents you control")));
         this.getSpellAbility().addCost(new DiscardHandCost());
 
         // Target player loses 5 life.
diff --git a/Mage.Sets/src/mage/cards/l/Leviathan.java b/Mage.Sets/src/mage/cards/l/Leviathan.java
index cf79670e67..7f5d4b1cb2 100644
--- a/Mage.Sets/src/mage/cards/l/Leviathan.java
+++ b/Mage.Sets/src/mage/cards/l/Leviathan.java
@@ -118,7 +118,7 @@ class LeviathanCostToAttackBlockEffect extends PayCostToAttackBlockEffectImpl {
     LeviathanCostToAttackBlockEffect() {
         super(Duration.WhileOnBattlefield, Outcome.Detriment, RestrictType.ATTACK,
                 new SacrificeTargetCost(new TargetControlledPermanent(2, 2, filter, false)));
-        staticText = "{this} can't attack unless you sacrifice two Islands <i>(This cost is paid as attackers are declared.)</i>";
+        staticText = "{this} can't attack unless you sacrifice two Islands. <i>(This cost is paid as attackers are declared.)</i>";
     }
 
     LeviathanCostToAttackBlockEffect(LeviathanCostToAttackBlockEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/l/LyevDecree.java b/Mage.Sets/src/mage/cards/l/LyevDecree.java
index c332e4bf09..70326ded26 100644
--- a/Mage.Sets/src/mage/cards/l/LyevDecree.java
+++ b/Mage.Sets/src/mage/cards/l/LyevDecree.java
@@ -47,7 +47,7 @@ import mage.target.common.TargetCreaturePermanent;
 
 public class LyevDecree extends CardImpl {
 
-    private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures your opponent controls");
+    private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures your opponents control");
     static {
         filter.add(new ControllerPredicate(TargetController.OPPONENT));
     }
@@ -56,7 +56,7 @@ public class LyevDecree extends CardImpl {
         super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{W}");
 
 
-        // Detain up to two target creatures your opponent controls.
+        // Detain up to two target creatures your opponents control.
         this.getSpellAbility().addEffect(new DetainTargetEffect());
         Target target = new TargetCreaturePermanent(0,2,filter,false);
         this.getSpellAbility().addTarget(target);
diff --git a/Mage.Sets/src/mage/cards/m/MerfolkRaiders.java b/Mage.Sets/src/mage/cards/m/MerfolkRaiders.java
index 21611866db..09e408b51b 100644
--- a/Mage.Sets/src/mage/cards/m/MerfolkRaiders.java
+++ b/Mage.Sets/src/mage/cards/m/MerfolkRaiders.java
@@ -50,10 +50,10 @@ public class MerfolkRaiders extends CardImpl {
         this.power = new MageInt(2);
         this.toughness = new MageInt(3);
 
-        // Phasing
-        this.addAbility(PhasingAbility.getInstance());
         // Islandwalk
         this.addAbility(new IslandwalkAbility());
+        // Phasing
+        this.addAbility(PhasingAbility.getInstance());
     }
 
     public MerfolkRaiders(final MerfolkRaiders card) {
diff --git a/Mage.Sets/src/mage/cards/m/MilitantInquisitor.java b/Mage.Sets/src/mage/cards/m/MilitantInquisitor.java
index 05df6afc78..9b3e812798 100644
--- a/Mage.Sets/src/mage/cards/m/MilitantInquisitor.java
+++ b/Mage.Sets/src/mage/cards/m/MilitantInquisitor.java
@@ -49,7 +49,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
  */
 public class MilitantInquisitor extends CardImpl {
     
-    private static final FilterControlledPermanent filter = new FilterControlledPermanent("equipment you control");
+    private static final FilterControlledPermanent filter = new FilterControlledPermanent("Equipment you control");
 
     static {
         filter.add(new CardTypePredicate(CardType.ARTIFACT));
diff --git a/Mage.Sets/src/mage/cards/s/SpireTracer.java b/Mage.Sets/src/mage/cards/s/SpireTracer.java
index 8c36e4d18c..7846832cbf 100644
--- a/Mage.Sets/src/mage/cards/s/SpireTracer.java
+++ b/Mage.Sets/src/mage/cards/s/SpireTracer.java
@@ -76,7 +76,7 @@ class CantBeBlockedExceptByCreaturesWithFlyingOrReachEffect extends RestrictionE
 
     public CantBeBlockedExceptByCreaturesWithFlyingOrReachEffect() {
         super(Duration.WhileOnBattlefield);
-        staticText = "Can't be blocked except by creatures with flying or reach";
+        staticText = "{this} can't be blocked except by creatures with flying or reach";
     }
 
     public CantBeBlockedExceptByCreaturesWithFlyingOrReachEffect(final CantBeBlockedExceptByCreaturesWithFlyingOrReachEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/s/SpiritCairn.java b/Mage.Sets/src/mage/cards/s/SpiritCairn.java
index 0153958df4..1d1f92e0b4 100644
--- a/Mage.Sets/src/mage/cards/s/SpiritCairn.java
+++ b/Mage.Sets/src/mage/cards/s/SpiritCairn.java
@@ -51,7 +51,7 @@ public class SpiritCairn extends CardImpl {
         // Whenever a player discards a card, you may pay {W}. If you do, create a 1/1 white Spirit creature token with flying.
         this.addAbility(new SimpleTriggeredAbility(Zone.BATTLEFIELD, GameEvent.EventType.DISCARDED_CARD, 
                 new DoIfCostPaid(new CreateTokenEffect(new SpiritWhiteToken()), new ManaCostsImpl("{W}")), 
-                "Whenever a player discards a card, you ", 
+                "Whenever a player discards a card, ", 
                 false, false));
     }
 
diff --git a/Mage.Sets/src/mage/cards/s/SpiritMirror.java b/Mage.Sets/src/mage/cards/s/SpiritMirror.java
index 77edaee312..e9c03b254c 100644
--- a/Mage.Sets/src/mage/cards/s/SpiritMirror.java
+++ b/Mage.Sets/src/mage/cards/s/SpiritMirror.java
@@ -66,7 +66,7 @@ public class SpiritMirror extends CardImpl {
         this.addAbility(new ConditionalTriggeredAbility(
                 new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new ReflectionToken()), TargetController.YOU, false),
                 new PermanentsOnTheBattlefieldCondition(filterToken, ComparisonType.EQUAL_TO, 0, false),
-                "At the beginning of your upkeep, if there are no Reflection tokens on the battlefield, create a 2/2 white Reflection creature token"));
+                "At the beginning of your upkeep, if there are no Reflection tokens on the battlefield, create a 2/2 white Reflection creature token."));
 
         // {0}: Destroy target Reflection.
         Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new GenericManaCost(0));
diff --git a/Mage/src/main/java/mage/abilities/effects/common/CantBeRegeneratedTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/CantBeRegeneratedTargetEffect.java
index a0219501fb..d844803f73 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/CantBeRegeneratedTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/CantBeRegeneratedTargetEffect.java
@@ -81,7 +81,6 @@ public class CantBeRegeneratedTargetEffect extends ContinuousRuleModifyingEffect
         }
         sb.append(" can't be regenerated");
         if (!duration.toString().isEmpty()) {
-            sb.append(' ');
             if (duration == Duration.EndOfTurn) {
                 sb.append(" this turn");
             } else {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/CreateTokenCopyTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/CreateTokenCopyTargetEffect.java
index 993422a0d4..6bb2ce18c5 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/CreateTokenCopyTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/CreateTokenCopyTargetEffect.java
@@ -286,7 +286,7 @@ public class CreateTokenCopyTargetEffect extends OneShotEffect {
             sb.append("tokens that are copies of target ");
         }
         if (!mode.getTargets().isEmpty()) {
-            sb.append(mode.getTargets().get(0).getMessage());
+            sb.append(mode.getTargets().get(0).getTargetName());
         } else {
             throw new UnsupportedOperationException("Using default rule generation of target effect without having a target object");
         }
diff --git a/Mage/src/main/java/mage/abilities/effects/common/PreventDamageByTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PreventDamageByTargetEffect.java
index e26affa441..081cd81b8c 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/PreventDamageByTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/PreventDamageByTargetEffect.java
@@ -96,7 +96,7 @@ public class PreventDamageByTargetEffect extends PreventionEffectImpl {
             StringBuilder sb = new StringBuilder();
             sb.append("Prevent all");
             if (onlyCombat) {
-                sb.append(" combat ");
+                sb.append(" combat");
             }
             sb.append(" damage target ");
             sb.append(mode.getTargets().get(0).getTargetName()).append(" would deal ").append(duration.toString());
diff --git a/Mage/src/main/java/mage/abilities/effects/common/PreventNextDamageFromChosenSourceToYouEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PreventNextDamageFromChosenSourceToYouEffect.java
index 6164d9c2de..86f10acf76 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/PreventNextDamageFromChosenSourceToYouEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/PreventNextDamageFromChosenSourceToYouEffect.java
@@ -71,7 +71,7 @@ public class PreventNextDamageFromChosenSourceToYouEffect extends PreventionEffe
         StringBuilder sb = new StringBuilder("The next time a ").append(targetSource.getFilter().getMessage());
         sb.append(" of your choice would deal damage to you");
         if (duration == Duration.EndOfTurn) {
-            sb.append("  this turn");
+            sb.append(" this turn");
         }
         sb.append(", prevent that damage");
         return sb.toString();
diff --git a/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveEachPlayerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveEachPlayerEffect.java
index 77ebb1377d..0a378703ab 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveEachPlayerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveEachPlayerEffect.java
@@ -123,9 +123,12 @@ public class PutTopCardOfLibraryIntoGraveEachPlayerEffect extends OneShotEffect
                 throw new UnsupportedOperationException("TargetController type not supported.");
         }
         sb.append("puts the top ");
-        sb.append(CardUtil.numberToText(numberCards.toString(), "a"));
-        sb.append(" card");
-        sb.append(numberCards.toString().equals("1") ? "" : "s");
+        if(numberCards.toString().equals("1")) {
+            sb.append("card");
+        } else {
+            sb.append(CardUtil.numberToText(numberCards.toString()));
+            sb.append(" cards");
+        }
         sb.append(" of his or her library into his or her graveyard");
         return sb.toString();
     }
diff --git a/Mage/src/main/java/mage/abilities/effects/common/TapAllTargetPlayerControlsEffect.java b/Mage/src/main/java/mage/abilities/effects/common/TapAllTargetPlayerControlsEffect.java
index 08ca0c506f..ac2bee4e1d 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/TapAllTargetPlayerControlsEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/TapAllTargetPlayerControlsEffect.java
@@ -80,6 +80,6 @@ public class TapAllTargetPlayerControlsEffect extends OneShotEffect {
         if (staticText != null && !staticText.isEmpty()) {
             return staticText;
         }
-        return "tap all " + filter.toString() + " target " + mode.getTargets().get(0).getMessage() + " controls";
+        return "tap all " + filter.toString() + " target " + mode.getTargets().get(0).getTargetName() + " controls";
     }
 }
diff --git a/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostIncreasementAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostIncreasementAllEffect.java
index 95d6d6e524..6b371b0dc4 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostIncreasementAllEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostIncreasementAllEffect.java
@@ -48,7 +48,7 @@ public class SpellsCostIncreasementAllEffect extends CostModificationEffectImpl
     private int amount;
 
     public SpellsCostIncreasementAllEffect(int amount) {
-        this(new FilterCard("All Spells "), amount);
+        this(new FilterCard("Spells"), amount);
     }
 
     public SpellsCostIncreasementAllEffect(FilterCard filter, int amount) {
diff --git a/Mage/src/main/java/mage/abilities/keyword/DefenderAbility.java b/Mage/src/main/java/mage/abilities/keyword/DefenderAbility.java
index 293ad9adb2..a6cf1ce515 100644
--- a/Mage/src/main/java/mage/abilities/keyword/DefenderAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/DefenderAbility.java
@@ -56,7 +56,7 @@ public class DefenderAbility extends StaticAbility implements MageSingleton {
 
     @Override
     public String getRule() {
-        return "Defender";
+        return "defender";
     }
 
     @Override
diff --git a/Mage/src/main/java/mage/abilities/keyword/LifelinkAbility.java b/Mage/src/main/java/mage/abilities/keyword/LifelinkAbility.java
index c22dde451a..7a12b66426 100644
--- a/Mage/src/main/java/mage/abilities/keyword/LifelinkAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/LifelinkAbility.java
@@ -56,7 +56,7 @@ public class LifelinkAbility extends StaticAbility implements MageSingleton {
 
     @Override
     public String getRule() {
-        return "Lifelink <i>(Damage dealt by this creature also causes you to gain that much life.)</i>";
+        return "lifelink <i>(Damage dealt by this creature also causes you to gain that much life.)</i>";
     }
 
     @Override
diff --git a/Mage/src/main/java/mage/abilities/keyword/ProtectionAbility.java b/Mage/src/main/java/mage/abilities/keyword/ProtectionAbility.java
index 5f1b480406..46471af292 100644
--- a/Mage/src/main/java/mage/abilities/keyword/ProtectionAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/ProtectionAbility.java
@@ -89,7 +89,7 @@ public class ProtectionAbility extends StaticAbility {
     @Override
     public String getRule() {
 
-        return "Protection from " + filter.getMessage() + (removeAuras ? "" : ". This effect doesn't remove auras.");
+        return "protection from " + filter.getMessage() + (removeAuras ? "" : ". This effect doesn't remove auras.");
     }
 
     public boolean canTarget(MageObject source, Game game) {
diff --git a/Mage/src/main/java/mage/abilities/keyword/TotemArmorAbility.java b/Mage/src/main/java/mage/abilities/keyword/TotemArmorAbility.java
index 604f164504..f31280d1bf 100644
--- a/Mage/src/main/java/mage/abilities/keyword/TotemArmorAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/TotemArmorAbility.java
@@ -65,7 +65,7 @@ public class TotemArmorAbility extends SimpleStaticAbility {
 
     @Override
     public String getRule() {
-        return "Totem Armor <i>(If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)</i>";
+        return "Totem armor <i>(If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)</i>";
     }
 }
 
diff --git a/Mage/src/main/java/mage/filter/StaticFilters.java b/Mage/src/main/java/mage/filter/StaticFilters.java
index c724734fa8..e6ccc99657 100644
--- a/Mage/src/main/java/mage/filter/StaticFilters.java
+++ b/Mage/src/main/java/mage/filter/StaticFilters.java
@@ -179,7 +179,13 @@ public final class StaticFilters {
 
     static {
         FILTER_CONTROLLED_CREATURE.setLockedFilter(true);
+    }    
+    public static final FilterControlledCreaturePermanent FILTER_CONTROLLED_CREATURES = new FilterControlledCreaturePermanent("creatures you control");
+
+    static {
+        FILTER_CONTROLLED_CREATURES.setLockedFilter(true);
     }
+    
     public static final FilterControlledCreaturePermanent FILTER_CONTROLLED_A_CREATURE = new FilterControlledCreaturePermanent("a creature you control");
 
     static {