diff --git a/game2048/.pytest_cache/v/cache/lastfailed b/game2048/.pytest_cache/v/cache/lastfailed
index d82b887957e97fc8f8da49cba457af361a317e93..450bf772656134db26390aebbe43d8f2c539c7f8 100644
--- a/game2048/.pytest_cache/v/cache/lastfailed
+++ b/game2048/.pytest_cache/v/cache/lastfailed
@@ -1,4 +1,4 @@
 {
   "test_grid_2048.py::test_grid_to_string": true,
-  "test_grid_2048.py::test_move_row_right": true
+  "test_grid_2048.py::test_move_possible": true
 }
\ No newline at end of file
diff --git a/game2048/.pytest_cache/v/cache/nodeids b/game2048/.pytest_cache/v/cache/nodeids
index 6a3242b42e252a2fd3dda40bae2981f4f01ceeab..d7373135ec903abf49668689ea812b2e71bf0060 100644
--- a/game2048/.pytest_cache/v/cache/nodeids
+++ b/game2048/.pytest_cache/v/cache/nodeids
@@ -1,3 +1,14 @@
 [
-  "test_grid_2048.py::test_move_row_left"
+  "test_grid_2048.py::test_create_grid",
+  "test_grid_2048.py::test_get_value_new_tile",
+  "test_grid_2048.py::test_get_all_tiles",
+  "test_grid_2048.py::test_get_empty_tiles_positions",
+  "test_grid_2048.py::test_get_new_position",
+  "test_grid_2048.py::test_grid_add_new_tile",
+  "test_grid_2048.py::test_init_game",
+  "test_grid_2048.py::test_long_value_with_theme",
+  "test_grid_2048.py::test_move_row_left",
+  "test_grid_2048.py::test_move_row_right",
+  "test_grid_2048.py::test_is_grid_full",
+  "test_grid_2048.py::test_move_possible"
 ]
\ No newline at end of file
diff --git a/game2048/grid_2048.py b/game2048/grid_2048.py
index 71c7455d63c02761ab8b5947dec63d87e3db7da3..7fb93fdfee8fc38391309da466adce2fced45036 100644
--- a/game2048/grid_2048.py
+++ b/game2048/grid_2048.py
@@ -121,3 +121,12 @@ def move_row_right(row):
 
 def is_grid_full(grid):
     return get_empty_tiles_positions(grid) == []
+
+def move_possible(grid):
+    possibles = []
+    for d in ["left","right","up","down"]:
+        possibles.append(move_gride(grid,d) != grid)
+    return possibles
+
+def is_game_over(grid):
+    
diff --git a/game2048/test_grid_2048.py b/game2048/test_grid_2048.py
index 0c038931c55e70a2a6c55dc3ec8df77c79d13494..3655978498b39abe03c2b12507236f7b1a478405 100644
--- a/game2048/test_grid_2048.py
+++ b/game2048/test_grid_2048.py
@@ -87,3 +87,7 @@ def test_move_row_right():
 def test_is_grid_full():
     assert is_grid_full([[0, 16, 32, 0], [64, 0, 32, 2], [2, 2, 8, 4], [512, 8, 16, 0]]) == False
     assert is_grid_full([[4, 16, 32, 4], [64, 8, 32, 2], [2, 2, 8, 4], [512, 8, 16, 1024]]) == True
+
+def test_move_possible():
+    assert move_possible([[2, 2, 2, 2], [4, 8, 8, 16], [0, 8, 0, 4], [4, 8, 16,32]]) == [True,True,True,True]
+    assert move_possible([[2, 4, 8, 16], [16, 8, 4, 2], [2, 4, 8, 16], [16, 8, 4,2]]) == [False,False,False,False]