diff --git a/Snek/player/Player.py b/Snek/player/Player.py
index 422d3ca62a64e49714f000f86567b1838cb0676e..291fbb69990893a28fe4ad656deb2717a355f044 100644
--- a/Snek/player/Player.py
+++ b/Snek/player/Player.py
@@ -22,4 +22,5 @@ class Player:
 		return(moves[0])
 
 	def update(self, colour, action):
+		action = self.board.convert_coords_local(action)
 		self.board.move(action)
diff --git a/Snek/player/__pycache__/Player.cpython-36.pyc b/Snek/player/__pycache__/Player.cpython-36.pyc
index 1c5f91be7a2d1e9018a546b768e4a7af0e07b61d..d74593c9d792478260edce43a4da4a63fde9ca77 100644
Binary files a/Snek/player/__pycache__/Player.cpython-36.pyc and b/Snek/player/__pycache__/Player.cpython-36.pyc differ
diff --git a/Snek/util/Board.py b/Snek/util/Board.py
index e73cbc9cfe851b296bec0e7a544ca8516de0cbde..425e13c834f537762fb644878ed0c1bf79c3682b 100644
--- a/Snek/util/Board.py
+++ b/Snek/util/Board.py
@@ -95,24 +95,44 @@ class Board:
 
 	def convert_coords_local(self, action):
 		if action[0] == 'EXIT':
-			return (action[0], (action[1][0], action[1][1]))
+			return (action[0], (action[1][0]+3, action[1][1]+3))
 
 		return (action[0], ((action[1][0][0]+3, action[1][0][1]+3), (action[1][1][0]+3, action[1][1][1]+3)))
 
 	def convert_coords_ref(self, action):
 		if action[0] == 'EXIT':
-			return (action[0], (action[1][0], action[1][1]))
+			return (action[0], (action[1][0]-3, action[1][1]-3))
 
 		return (action[0], ((action[1][0][0]-3, action[1][0][1]-3), (action[1][1][0]-3, action[1][1][1]-3)))
 
 	def move(self, action):
 
-		if action[0] ==  'MOVE' or action == 'JUMP':
+		if action[0] ==  'MOVE':
 			piece = self.tiles[action[1][0][1]][action[1][0][0]]
 			self.tiles[action[1][0][1]][action[1][0][0]] = None
 			self.tiles[action[1][1][1]][action[1][1][0]] = piece
 			self.tiles[action[1][1][1]][action[1][1][0]].pos = action[1][1]
 
-		elif action[0] == 'EXIT':
+		elif action[0] == 'JUMP':
 			piece = self.tiles[action[1][0][1]][action[1][0][0]]
+			direction = (action[1][1][0]-action[1][0][0], action[1][1][1]-action[1][0][1])
+			direction = (int(direction[0]/2), int(direction[1]/2))
+			print("MID: " + str((piece.pos[0] + direction[0]-3, piece.pos[1] + direction[1]-3)))
+			mid_tile = (piece.pos[0] + direction[0], piece.pos[1] + direction[1])
+			taken_piece = self.tiles[mid_tile[1]][mid_tile[0]]
+			print(len(self.pieces[taken_piece.colour]))
+			for i in range(len(self.pieces[taken_piece.colour])):
+				if self.pieces[taken_piece.colour][i] is taken_piece:
+					self.pieces[taken_piece.colour].pop(i)
+					self.pieces[piece.colour].append(taken_piece)
+					taken_piece.colour = piece.colour
+					break
 			self.tiles[action[1][0][1]][action[1][0][0]] = None
+			self.tiles[action[1][1][1]][action[1][1][0]] = piece
+			self.tiles[action[1][1][1]][action[1][1][0]].pos = action[1][1]
+
+
+		elif action[0] == 'EXIT':
+			piece = self.tiles[action[1][1]][action[1][0]]
+			self.tiles[action[1][1]][action[1][0]] = None
+			self.pieces[piece.colour].remove(piece)
diff --git a/Snek/util/__pycache__/Board.cpython-36.pyc b/Snek/util/__pycache__/Board.cpython-36.pyc
index 803df5803e155c9ffd9182a00dfdeb7b5bf7d4e1..0ad5a8382cc8ab13b09b209bc90970a7b5293e00 100644
Binary files a/Snek/util/__pycache__/Board.cpython-36.pyc and b/Snek/util/__pycache__/Board.cpython-36.pyc differ