docs: function(cellsetAsObject) {
        var getHierarchyArray = function(axis){
          var h = axis.getHierarchies();
          var hierarchies = [];
          var i, n = axis.numHierarchies;
          for (i = 0; i < n; i++) {
            hierarchies.push(axis.hierarchy(i));
          }
          return hierarchies;
        }
        var axes = [], axis, filterAxis,
            cellset = [], cells = [], cell,
            i, n, tuples=1, idx=0;
  
        //loop through all non slicer axes
        for (i = 0, n = this.axisCount(); i < n; i++){
            axis = this.getAxis(i);
            tuples = tuples * axis.tupleCount();
            axes.push({
                positions: axis.fetchAllAsObject(),
                hierarchies: getHierarchyArray(axis)
            });
        }
  
          //get Slicer information
        if (this.hasSlicerAxis()) {
          axis = this.getSlicerAxis();
          filterAxis =  {
            positions: axis.fetchAllAsObject(),
            hierarchies:  getHierarchyArray(axis)
          }
        } else {
          filterAxis =  {
            positions: {},
            hierarchies: []
          }
        }
  
        //get Cellset data
        cellset = this.getCellset();
        if (cellsetAsObject === true) {
          cells = cellset.fetchAllAsObject();
        }
        else {
          for (i = 0, n = tuples; i < n; i++){
              cell = cellset.readCell();
              if (idx === cell.ordinal) {
                cells.push(cell);
                if (cellset.nextCell() === -1) {
                  break;
                }
              } else {
                //console.debug('skipping: '+idx+':'+cell.ordinal);
                cells.push({Value:null, FmtValue:null, FormatString: null, ordinal:idx });
              }
              idx++;
          }
        }
        //do not close, it might be used later.....
        cellset.reset();
  
        return {
          cubeName: this.cubeName,
          axes: axes,
          filterAxis: filterAxis,
          cells: cells
        };
      }