public Animal[][] getSurrounding(Animal animal) {
		if (animal == null) {
			return null;
		}
		
		// Scan entire Grid for animal
		for (int i = 0; i < grid.length; i++) {
			for (int j = 0; i < grid[0].length; j++) {
				if (animal.equals(grid[i][j]))  {
					// Animal found, get surrounding
					Animal surroundingGrid[][] = new Animal[3][3];
					for (int k = 0; k < 3; k++) {
						for (int l = 0; l < 3; l++) {
							// be sure dX is between 0 and width - 1
							int dX = i+k - 1;
							dX = (dX + 2*grid.length) % grid.length;
							
							int dY = j+l - 1;
							dY = (dY + 2*grid.length) % grid.length;
							
							surroundingGrid[k][l] = grid[dX][dY];
							
							return surroundingGrid;
						}
					}
				}
			}
		}
		
		// Animal was not found on the grid
		return null;
	}