docs: function(text, countryCode, useGooglePhoneLib){
  
          const that = this,
              resultsFormatted = [];
  
          return new Promise(function(resolve, reject){
  
              const data = utils.formatString(text);
              let countryRules;
  
              if(_.isString(countryCode)){
                  countryCode = countryCode.toUpperCase();
              }
  
              if(countryCode === 'AU'){
                  countryRules = new locale.AU(data);
              }
  
              if(countryCode === 'US'){
                  countryRules = new locale.US(data);
              }
  
              if(!countryRules){
                  return reject('Unsupported county code "' + countryCode + '". Supported codes are "AU" (Australia) and "US" (United States)');
              }
  
              async.map(countryRules.getRules(), function(rule, cb){
                  rule.run(function(result){
                      cb(null, result);
                  });
              },
  
              function(err, results){
  
                  results = _.flatten(results || []);
  
                  if(useGooglePhoneLib === true){
                      _.each(results, function(n){
                          resultsFormatted.push(
                              that.formati18n(n, countryCode)
                          )
                      });
  
                      return resolve(resultsFormatted);
                  }
  
                  resolve(results);
              });
          });
      }