diff --git a/src/Images1/player_sliding.png b/src/Images1/player_sliding.png
new file mode 100644
index 0000000000000000000000000000000000000000..57476f650e1d481d0c83eee28e6fbb8a315e73f0
Binary files /dev/null and b/src/Images1/player_sliding.png differ
diff --git a/src/constants/Constants.java b/src/constants/Constants.java
index 4524407f7b70b026e58a25b2994985f7dc403cf3..14901c40d1bebcd2922485529d14689bca3e4ba3 100644
--- a/src/constants/Constants.java
+++ b/src/constants/Constants.java
@@ -25,7 +25,7 @@ public interface Constants {
 	final int screenHeight = 500;
 	
 	// Player
-	
+	String slidingPlayerImg = "src/Images1/player_sliding.png";
 	String playerImg = "src/Images1/player.png";
 	double playerWidth = 100;
 	double playerHeight = 100;
diff --git a/src/main/Main.java b/src/main/Main.java
index 64200c3306d2a24e9ee69bfeb53d67ad4731f0f4..f3296ecc8e765e5c98bb649f267b1c0e1aaf5c50 100644
--- a/src/main/Main.java
+++ b/src/main/Main.java
@@ -64,6 +64,7 @@ public class Main extends Application {
 		// We set up a setOnKeyPressed, to handle keyboard input,
 		// like we had a onMouseClick in the canvas for the paint lab.
 		gameScene.setOnKeyPressed(new EventHandler<KeyEvent>() {
+			
 			@Override
 			public void handle(KeyEvent event) {
 				// We send it on to the model, to handle it in the various
@@ -71,6 +72,8 @@ public class Main extends Application {
 				model.keyPressed(event);
 			}
 		});
+		
+		
 
 		// We set an AnimationTimer, to control the flow of the game.
 		new AnimationTimer() {
diff --git a/src/states/PlayState.java b/src/states/PlayState.java
index 47c4f85fc66de6a48ee8c5e796bece989028ac69..2697438138c7ba559bf116ea5cf337eabc7fc9a9 100644
--- a/src/states/PlayState.java
+++ b/src/states/PlayState.java
@@ -44,6 +44,7 @@ public class PlayState extends GameState {
 	private Enemy enemy;
 	private boolean collided = false;
 	private boolean up = false;
+	private boolean down = false;
 	private boolean gameOver = false;
 	private MenuState menu;
 	private HighScore score = new HighScore();
@@ -52,7 +53,9 @@ public class PlayState extends GameState {
 
 
 	/* Class only used for testing */
-
+	
+//	TODO nästa steg, lägg in en flygande enemy för att testa glid funktionen, ändra boundsen på den glidande bilden!
+// 	TODO kanske ta bort att skicka med image när man instansierar player
 
 	public PlayState(GameModel model) {
 		super(model);
@@ -62,7 +65,7 @@ public class PlayState extends GameState {
 		bgColor = Color.BEIGE;
 		fontColor = Color.BLUE;
 		scoreText = "Highscore: " + Integer.toString(score.getHighScore());
-//		+ Integer.toString(score.getHighScore());
+		//		+ Integer.toString(score.getHighScore());
 
 		player = new Player(Constants.playerImg);
 		enemy = new Enemy(Constants.enemyImg);
@@ -107,18 +110,33 @@ public class PlayState extends GameState {
 
 	}
 
+	
 	@Override
 	public void keyPressed(KeyEvent key) {
-		System.out.println("Trycker på " + key.getCode() + " i PlayState");
 
+//		TODO gör om till case sats för att städa upp det lite, kladdigt atm + kan behöva flytta funktionalitet
+		
 		if (key.getCode() == KeyCode.ESCAPE) {
 
 			model.switchState(new MenuState(model));
 		} else if (key.getCode() == KeyCode.UP) {
-			up = true;
 
-		}
+			if (down) {
+
+				player.standUp();
+				down = false;
+
+			} else {
+
+				up = true;
+
+			}
 
+		} else if (key.getCode() == KeyCode.DOWN) {
+
+			down = true;
+
+		}
 
 	}
 
@@ -131,17 +149,15 @@ public class PlayState extends GameState {
 		if (!gameOver) {
 
 			if ((enemy.getEnemyX() <= (player.getPlayerX() + 80)) && (enemy.getEnemyX() > player.getPlayerX())) {
-//				if (!collided && enemy.getEnemyX() > player.getPlayerX()) {
-					if (!collided) {
+				//				if (!collided && enemy.getEnemyX() > player.getPlayerX()) {
+				if (!collided) {
 					checkCollision();
 				}
-//				clearedEnemies ++;
+				//				clearedEnemies ++;
 			}
 
 			if (collided && enemy.getEnemyX() < player.getPlayerX()) {
 				collided = false;
-			} else if (!collided && enemy.getEnemyX() < player.getPlayerX()) {
-				clearedEnemies ++;
 			}
 
 
@@ -154,12 +170,17 @@ public class PlayState extends GameState {
 				up = false;
 			}
 
+			if (down) {
+
+				player.slide();
+			}
+
 		}
 
 	}
 
 	public void checkCollision() {
-		
+
 
 		//		if ((enemy.getEnemyX() <= (player.getPlayerX() + 80)) && (enemy.getEnemyX() > player.getPlayerX()) && ((player.getPlayerY() + 60) >= enemy.getEnemyY() )) {
 		//
@@ -178,7 +199,7 @@ public class PlayState extends GameState {
 			collided = true;
 			//			System.out.println("fäk");
 			if (Integer.valueOf(player.getLives()) == 1) {
-//								menu = new MenuState(model);
+				//								menu = new MenuState(model);
 				//				model.switchState(menu);
 				gameOver = true;
 				score.saveScore(clearedEnemies);
@@ -193,7 +214,7 @@ public class PlayState extends GameState {
 		//		} 
 
 
-//		clearedEnemies ++;
+		//		clearedEnemies ++;
 
 
 	}
diff --git a/src/states/Player.java b/src/states/Player.java
index 3eef35d9274a3b56dd169cb3faaca4741a949130..a0ac4b74895d6eb32956f84f7c0de0709c5803de 100644
--- a/src/states/Player.java
+++ b/src/states/Player.java
@@ -12,6 +12,8 @@ import javafx.scene.input.KeyEvent;
 import javafx.scene.shape.Rectangle;
 
 public class Player {
+	
+//	TODO se över funktioner, kanske lättare att slå samman vissa
 
 	private double playerX = (Constants.screenWidth - Constants.playerWidth) / 2;
 	private double playerY = 265.00;
@@ -20,34 +22,38 @@ public class Player {
 	private Image image;
 	private boolean down = false;
 	private boolean up = false;
-//	private ImageView playerView;
+	private Image slidingImage;
+	private Image currImage = null;
+	//	private ImageView playerView;
 
 
 	public Player(String playerImg) {
 
 		try {
 			image = new Image(new FileInputStream(playerImg));
-//			playerView = new ImageView(image);
-//			playerView.setX(playerX);
-//			playerView.setY(playerY);
-//			playerView.setFitHeight(Constants.playerHeight);
-//			playerView.setFitWidth(Constants.playerWidth);
+			slidingImage = new Image(new FileInputStream(Constants.slidingPlayerImg));
+			//			playerView = new ImageView(image);
+			//			playerView.setX(playerX);
+			//			playerView.setY(playerY);
+			//			playerView.setFitHeight(Constants.playerHeight);
+			//			playerView.setFitWidth(Constants.playerWidth);
 		} catch (FileNotFoundException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
 
+		currImage = image;
 
 	}
 
 
-//	public ImageView getPlayerView() {
-//		return playerView;
-//	}
+	//	public ImageView getPlayerView() {
+	//		return playerView;
+	//	}
 
 
 	public Image getImage() {
-		return image;
+		return currImage;
 	}
 
 
@@ -106,6 +112,13 @@ public class Player {
 	}
 
 
+	public void slide() {
+
+		currImage = slidingImage;
+			
+	}
+
+
 	public void setPlayerX(double playerX) {
 		this.playerX = playerX;
 	}
@@ -116,4 +129,13 @@ public class Player {
 	}
 
 
+	public void standUp() {
+		currImage = image;
+		
+	}
+
+
+
+
+
 }