docs: function ColumnsSets(colObjsSets) {
    var _this = this;
    _this._colObjsSets = colObjsSets;
    _.forIn(soloColumnQuery, function(value, key) {
      var func = function(args) {
        var promises = _.map(_.range(colObjsSets.length), function(i) {
          var morePromises = _.map(_.range(colObjsSets[i].length), function(j) {
            if (args === undefined) {
              return value(colObjsSets[i][j]);
            } else if (!Array.isArray(args))  {
              return value(colObjsSets[i][j], args);
            } else if (!Array.isArray(args[i])) {
              return value(colObjsSets[i][j], args[i]);
            } else {
              return value(colObjsSets[i][j], args[i][j]);
            }
          });
          return Promise.all(morePromises);
        });
        return Promise.all(promises);
      };
      _this[key] = func;
    });
    _.forIn(multColumnQuery,function(value,key){
      var func = function(args){
        var promises = _.map(_.range(colObjsSets.length),function(i){
          if(args === undefined) {
            return value(colObjsSets[i]);
          } else if(!Array.isArray(args)) {
            return value(colObjsSets[i], args);
          } else {
            return value(colObjsSets, args[i]);
          }
        });
        return Promise.all(promises);
      };
      _this[key] = func;
    });
  }