whole_func_string: function traverse(file) {
        file = master.resolve(file);
        fs.stat(file, function(err, stat){
          if (!err) {
            if (stat.isDirectory()) {
              if (~exports.ignoreDirectories.indexOf(basename(file))) return;
              fs.readdir(file, function(err, files){
                files.map(function(f){
                  return file + '/' + f;
                }).forEach(traverse);
              });
            } else {
              watch(file);
            }
          }
        });
      }
func_code_string: function traverse(file) {
        file = master.resolve(file);
        fs.stat(file, function(err, stat){
          if (!err) {
            if (stat.isDirectory()) {
              if (~exports.ignoreDirectories.indexOf(basename(file))) return;
              fs.readdir(file, function(err, files){
                files.map(function(f){
                  return file + '/' + f;
                }).forEach(traverse);
              });
            } else {
              watch(file);
            }
          }
        });
      }
func_documentation_string: traverse file if it is a directory otherwise setup the watcher