docs: function downloadNames(src, name, callback) {
      async.waterfall([
          function (callback) {
              request.get({
                  url: src
              }, callback);
          },
          function (res, html, callback) {
              var $ = cheerio.load(html);
              callback(null, $);
          },
          function ($, callback) {
              var table = $('#mw-pages').find('.mw-content-ltr table');
              var data = table.find('ul li').toArray()
                  .map(function (li) {
                      var a = $(li).find('a');
                      return a.attr('title');
                  })
                  .filter(function (name) {
                      return !!name;
                  });
              callback(null, data);
          },
          function (data, callback) {
              var keys = [name];
              h.saveData(dataDir, keys, {
                  keys: keys,
                  values: data.map(function (data) {
                      return [data];
                  })
              }, callback);
          }
      ], callback)
  }