public Grid bruteForce(Grid grid) {
		if(grid == null){
			return null;
		}
		HashMap<Character, Vehicle> vehicles = grid.getVehicles();
		if (grid.playerCanExit()) {
			return grid;
		}
		// for each vehicle
		for (Character key : vehicles.keySet()) {
			// for each move
			ArrayList<Move> moves = vehicles.get(key).getPossibleMoves(grid);
			if (moves.isEmpty()) {
				continue;
			}
			for (int j = 0; j < moves.size(); j++) {
				Grid g = bruteForce(grid.executeMove(moves.get(j)).nullIfPreviousState());
				if (g != null) {
					return g;
				}
			}
		}
		return null;
	}