public void setCellInfo(int x, int y) {
		//get the grid from operator
		Grid grid = request.operator.getGrid();   				 
		Point p = new Point(x,y);    
		int depth = 0;

		//strings to be displayed
		String owner, oil, gas, layers, rocktype;
		//if the grid location exists (not null)
		if(grid.exists(p)) {   							 
			//get the owner name at p
			owner = grid.getOwner(p);
			//if the string is null or empty, display "Not Owned."
			if (owner == null || owner.equals("")) {
				owner = "Not Owned.";
			}

			//get the location of the top layer for seismic and rocktype
			while((grid.layerExists(p,depth) == false)
					&& depth < grid.getNumLayers())
				depth++;

			//if seismic data exists, display all of it, else display the top
			if(grid.seismicExists(p)) {
				//get the layer (seismic) array at p
				Integer[] layersA = grid.getLayerArray(p);
				layers = grid.removeEmptyFromArray(p,layersA);
			} else {
				layers = grid.getLayer(p,depth) + "";
			}

			//if p has been drilled, display all info, else display only the top rock.
			if(grid.isDrilled(p)) {
				//get the rock type array at p
				LithologicType[] rocktypeA = grid.getRockArray(p);
				String[] rocks = LithologicType.toArrayString(rocktypeA);
				rocktype = grid.removeEmptyFromArray(p,rocks);

				//get the oil rate array at p
				Integer[] oilA = grid.getOilArray(p);
				oil = grid.removeEmptyFromArray(p, oilA);

				//get the gas rate array at p
				Integer[] gasA = grid.getGasArray(p);
				gas = grid.removeEmptyFromArray(p,gasA);

			} else {
				oil = gas = "No Information.";
				rocktype = grid.getRock(p, depth).getShortName();
			}

			//if the gird location does not exist
		} else {
			owner = "Not Owned.";   						 //If the cell does not exist it says not owned
			oil = gas = layers = rocktype = "No Information.";   	 //NO INFO FOR YOU!
		}

		request.setCellInfo(owner, oil, gas, layers, rocktype);    //sets all of the data inside of requests
	}