diff --git a/frontend/core/src/com/gameware/game/GameWare.java b/frontend/core/src/com/gameware/game/GameWare.java
index 51e156eb8d852dedbb6fe7017e6e50c157523cef..1789271df36eafd4b51bd51f85225a621ff948a7 100644
--- a/frontend/core/src/com/gameware/game/GameWare.java
+++ b/frontend/core/src/com/gameware/game/GameWare.java
@@ -16,7 +16,7 @@ import com.gameware.game.models.Player;
 import com.gameware.game.states.GameStateManager;
 import com.gameware.game.states.LoginState;
 import com.gameware.game.states.MenuState;
-import com.gameware.game.states.PlayStateTemplate;
+import com.gameware.game.states.PlayStateComposite;
 
 import java.io.IOException;
 import java.lang.reflect.Constructor;
@@ -44,7 +44,7 @@ public class GameWare extends ApplicationAdapter {
 	private Player player;
 	private List<Game> games = new ArrayList<>();
 
-	private Map<String, PlayStateTemplate> gameIdToPlayState = new HashMap<>();
+	private Map<String, PlayStateComposite> gameIdToPlayState = new HashMap<>();
 
 	//Singleton (lazy initialization)
 	private GameWare(){ }
@@ -121,11 +121,11 @@ public class GameWare extends ApplicationAdapter {
 		return games;
 	}
 
-	public Map<String, PlayStateTemplate> getGameIdToPlayState(){
+	public Map<String, PlayStateComposite> getGameIdToPlayState(){
 		return gameIdToPlayState;
 	}
 
-	public void updateGameMap(String id, PlayStateTemplate state){
+	public void updateGameMap(String id, PlayStateComposite state){
 		gameIdToPlayState.put(id, state);
 	}
 
@@ -201,7 +201,7 @@ public class GameWare extends ApplicationAdapter {
 			try {
 				Class cl = Class.forName(className);
 				Constructor con = cl.getConstructor(GameStateManager.class);
-				PlayStateTemplate state = (PlayStateTemplate) con.newInstance(gsm);
+				PlayStateComposite state = (PlayStateComposite) con.newInstance(gsm);
 				gameIdToPlayState.put(id, state);
 			} catch (Exception e) {
 				e.printStackTrace();
diff --git a/frontend/core/src/com/gameware/game/states/BubbleWrapState.java b/frontend/core/src/com/gameware/game/states/BubbleWrapState.java
index 5d449bf4a3c9293d4779a0761e583286744e40fa..55b4011d6b41ae2ead75d977d554714032e3d815 100644
--- a/frontend/core/src/com/gameware/game/states/BubbleWrapState.java
+++ b/frontend/core/src/com/gameware/game/states/BubbleWrapState.java
@@ -7,7 +7,7 @@ import com.gameware.game.sprites.Bubble;
 
 import java.util.ArrayList;
 
-public class BubbleWrapState extends PlayStateTemplate {
+public class BubbleWrapState extends PlayStateComposite {
     private Texture background;
     private Texture unpopped;
     private Texture popped1;
diff --git a/frontend/core/src/com/gameware/game/states/ColorRushState.java b/frontend/core/src/com/gameware/game/states/ColorRushState.java
index ee8adc4964755c5a507f4b6274d203164981872c..7ffcb15569b6141d41f72ada66a88c4c78afe16c 100644
--- a/frontend/core/src/com/gameware/game/states/ColorRushState.java
+++ b/frontend/core/src/com/gameware/game/states/ColorRushState.java
@@ -9,7 +9,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-public class ColorRushState extends PlayStateTemplate {
+public class ColorRushState extends PlayStateComposite {
 
     private List<ColorRushTarget> activeTargets;
     private List<ColorRushTarget> previousTargets;
diff --git a/frontend/core/src/com/gameware/game/states/FruitSlicerState.java b/frontend/core/src/com/gameware/game/states/FruitSlicerState.java
index 376eaee777dbc31466618890ff156cd2abcff370..575cb23fc1d602bb61c5b9f2fb2ba9cef5472aa6 100644
--- a/frontend/core/src/com/gameware/game/states/FruitSlicerState.java
+++ b/frontend/core/src/com/gameware/game/states/FruitSlicerState.java
@@ -12,7 +12,7 @@ import com.gameware.game.sprites.SlicingCircle;
 import java.util.ArrayList;
 import java.util.List;
 
-public class FruitSlicerState extends PlayStateTemplate {
+public class FruitSlicerState extends PlayStateComposite {
     private int totalFruitsCut = 0;
     private float startingEmitFrequency = 1f;
     private float endingEmitFrequency = 0.2f;
@@ -52,12 +52,13 @@ public class FruitSlicerState extends PlayStateTemplate {
         if(Gdx.input.isTouched()) {
             int touchX = Gdx.input.getX();
             int touchY = Gdx.input.getY();
+            float deltaTime = Gdx.graphics.getDeltaTime();
             boolean didCut = false;
 
             this.lengthMoved = (float) Math.sqrt(Math.pow((touchX - this.oldTouchPosition.x), 2) + Math.pow((touchY - this.oldTouchPosition.y), 2));
 
             // If the user moved fast enough (sliced fast enough)
-            if(lengthMoved >= this.slicingSpeedThreshold * (0.016 / Gdx.graphics.getDeltaTime())) {
+            if(lengthMoved >= this.slicingSpeedThreshold * (0.01 / deltaTime)) {
                 for (Fruit fruit : this.emittedFruits) {
                     if (fruit.isPressed(touchX, touchY)) {
                         this.totalFruitsCut++;
@@ -96,7 +97,7 @@ public class FruitSlicerState extends PlayStateTemplate {
         }
 
         // Disposes the oldest slicing circle if it is disposable
-        if(slicingCircles.size() > 0 && slicingCircles.get(0).isDisposable()){
+        while(slicingCircles.size() > 0 && slicingCircles.get(0).isDisposable()){
             this.slicingCircles.remove(0).dispose();
         }
 
diff --git a/frontend/core/src/com/gameware/game/states/PauseState.java b/frontend/core/src/com/gameware/game/states/PauseState.java
index a52ca77a171d790f8af38dae2eda25611cf9db84..096c5d5bdebfb8f627a2bf07f2a281aab52439cc 100644
--- a/frontend/core/src/com/gameware/game/states/PauseState.java
+++ b/frontend/core/src/com/gameware/game/states/PauseState.java
@@ -24,7 +24,7 @@ public class PauseState extends State {
     private PauseMenuButton resumeButton;
     private PauseMenuButton exitButton;
     private boolean needsConfirmation;
-    private PlayStateTemplate pausedGame;
+    private PlayStateComposite pausedGame;
     private LoadingText loadingText;
     private boolean userExited;
     private Color originalFontColor;
@@ -33,7 +33,7 @@ public class PauseState extends State {
     private boolean countdownStarted = false;
     private Texture countdownNumberTexture;
 
-    public PauseState(GameStateManager gsm, PlayStateTemplate pausedGame) {
+    public PauseState(GameStateManager gsm, PlayStateComposite pausedGame) {
         super(gsm);
 
         this.background = new Texture(Gdx.files.internal("pause/PauseBackground.jpg"));
diff --git a/frontend/core/src/com/gameware/game/states/PlayStateTemplate.java b/frontend/core/src/com/gameware/game/states/PlayStateComposite.java
similarity index 98%
rename from frontend/core/src/com/gameware/game/states/PlayStateTemplate.java
rename to frontend/core/src/com/gameware/game/states/PlayStateComposite.java
index 1b04e3f0956f797db1fa7b0211aac10050b6f7ac..dc1ed5f6e1a3d3d0abd169659f477ad31475ba03 100644
--- a/frontend/core/src/com/gameware/game/states/PlayStateTemplate.java
+++ b/frontend/core/src/com/gameware/game/states/PlayStateComposite.java
@@ -19,7 +19,7 @@ import java.io.IOException;
 import java.util.List;
 
 
-public abstract class PlayStateTemplate extends State {
+public abstract class PlayStateComposite extends State {
     private int score;
     private Round round = null;
     private Tournament tournament = null;
@@ -35,7 +35,7 @@ public abstract class PlayStateTemplate extends State {
     protected Texture screenshot = null;
     protected float currentDuration = 0f;
 
-    public PlayStateTemplate(GameStateManager gsm){
+    public PlayStateComposite(GameStateManager gsm){
         super(gsm);
 
         // Default pause button (black color)
diff --git a/frontend/core/src/com/gameware/game/states/SinglePlayerSelectGameState.java b/frontend/core/src/com/gameware/game/states/SinglePlayerSelectGameState.java
index eaca3d4243933447bdf0f7f8f8002f59f6361c01..3a22e66d2f3b31bd332465432c803b8ad03f29b0 100644
--- a/frontend/core/src/com/gameware/game/states/SinglePlayerSelectGameState.java
+++ b/frontend/core/src/com/gameware/game/states/SinglePlayerSelectGameState.java
@@ -123,7 +123,7 @@ public class SinglePlayerSelectGameState extends State {
 
         @Override
         public void clicked(InputEvent event, float x, float y) {
-            Map<String, PlayStateTemplate> map = GameWare.getInstance().getGameIdToPlayState();
+            Map<String, PlayStateComposite> map = GameWare.getInstance().getGameIdToPlayState();
             State s = map.get(game.getId());
             handleGameBtnClick(s);
         };
diff --git a/frontend/core/src/com/gameware/game/states/ViewTournamentState.java b/frontend/core/src/com/gameware/game/states/ViewTournamentState.java
index f86352efe4fc738d8090e70669af0c3c424942c0..ac4c0fe07b13084972119f0fb631660a26a751a6 100644
--- a/frontend/core/src/com/gameware/game/states/ViewTournamentState.java
+++ b/frontend/core/src/com/gameware/game/states/ViewTournamentState.java
@@ -97,7 +97,7 @@ public class ViewTournamentState extends State {
         currentRoundTable.pad(padding);
         currentRoundTable.setBackground(backgroundTableBlueRounded);
         currentRoundTable.add(new Label("This round:\n\n"+gameName,skin)).space(spacingLittle);
-        PlayStateTemplate state = GameWare.getInstance().getGameIdToPlayState().get(round.getGameId());
+        PlayStateComposite state = GameWare.getInstance().getGameIdToPlayState().get(round.getGameId());
         currentRoundTable.add(new Image(state.screenshot)).width(imageWidthAndHeigh).height(imageWidthAndHeigh).spaceBottom(spacingMedium).colspan(2);
         rootTable.add(currentRoundTable).maxHeight(Gdx.graphics.getHeight()/5).colspan(2);
         rootTable.row();
@@ -262,7 +262,7 @@ public class ViewTournamentState extends State {
 
     private void handlePlayBtnClick(){
         if(GameWare.getInstance().isSoundEffectsOn()){ buttonPressSound.play(); }
-        PlayStateTemplate state = GameWare.getInstance().getGameIdToPlayState().get(round.getGameId());
+        PlayStateComposite state = GameWare.getInstance().getGameIdToPlayState().get(round.getGameId());
         state.setTournament(tournament);
         state.setRound(round);
         gsm.set(state);