private void setupNeighbours() {
		int edgeCount = 0;
		for(int i = 0; i < this.gridCellContents.size(); i ++)
		{
			//if reached end of row start again
			if(edgeCount == xSize){
				edgeCount = 0;
			}
			
			//adds below neighbour
			if(i+xSize < this.gridCellContents.size())
			{
				this.gridCellContents.get(i).addNeighbour(this.gridCellContents.get(i+xSize));
			}
			
			//add right neighbours
			if(edgeCount != xSize-1)
			{
				this.gridCellContents.get(i).addNeighbour(this.gridCellContents.get(i+1));
			}
			
			//adds bottom left
			if(i + xSize < this.gridCellContents.size() && edgeCount != 0)
			{
				this.gridCellContents.get(i).addNeighbour(this.gridCellContents.get(i+xSize-1));
			}

			//adds bottom right neighbours
			if(i + xSize < this.gridCellContents.size() && edgeCount != xSize-1)
			{
				this.gridCellContents.get(i).addNeighbour(this.gridCellContents.get(i+xSize+1));
			}
			
			edgeCount++;		
		}
	}