private void markExploredCell(String descriptor) throws ArenaMapException {
		String binStr = null;
		try{
			 binStr = hexToBinaryStr(descriptor);			
		}catch(NumberFormatException e){
			throw new ArenaMapException(2, "The descriptor contains some non-hex digit");
		}
		if(binStr.length() != this.rowCount * this.columnCount + 4){
			throw new ArenaMapException(3, "Invalid Map Descriptor");
		}
		
		if(!(binStr.charAt(0) == '1' && binStr.charAt(0) == '1' && 
			binStr.charAt(302) == '1' && binStr.charAt(303) == '1')){
			throw new ArenaMapException(3, "Invalid Map Descriptor");

		}
		
//		System.out.println("Original in Hex: " + descriptor);
//		System.out.println("Original in Binary: " + binStr);
//		System.out.println("No header & trailer: " + binStr);

		//Cut the header and trailer 11
		binStr = binStr.substring(2, 302);


		for(int rowIndex = this.rowCount - 1; rowIndex >= 0;rowIndex--){
			for(int colIndex = 0;colIndex < this.columnCount;colIndex++){
				int strIndex = this.columnCount * (this.rowCount - 1 - rowIndex) + colIndex;
				if(binStr.charAt(strIndex) == '1'){
					this.arena[rowIndex][colIndex] = CellState.EMPTY;
				}else{
					this.arena[rowIndex][colIndex] = CellState.UNEXPLORED;
				}
			}
		}
	}