code: function(err, target) {
                          // err: 99% means that it doesn't exist. Well, we don't care do we ?.
                          if (!err) {
  
                              var isExcluded = false;
                              if ( typeof(source) != 'undefined' && excluded != undefined) {
                                  var f, p = source.split('/');
                                  f = p[p.length-1];
                                  for (var r= 0; r<excluded.length; ++r) {
                                      if ( typeof(excluded[r]) == 'object' ) {
                                          if (excluded[r].test(f)) {
                                              isExcluded = true
                                          }
                                      } else if (f === excluded[r]) {
                                          isExcluded = true
                                      }
                                  }
                              }
                              if (!isExcluded) {
                                  var target = new _(destination).mkdir( function(err, path) {
  
                                      browseCopy(source, path, excluded, function(err) {
                                          //console.debug("copy Dir to Dir done");
                                          //removed = true;
                                          destination = null;
                                          e.emit("cp#complete", err, path, method)
                                      })
                                  })
                              } else {
                                  var oldSource = source, oldDestination = destination;
  
                                  source = source.split('/');
                                  source = source.splice(0, source.length-1);
                                  source = source.join('/');
                                  destination = destination.split('/');
                                  destination = destination.splice(0, destination.length-1);
                                  destination = destination.join('/');
  
                                  readContent(source, destination, function(_list, _listTo) {
                                      var i = 0, list = [], listTo = [];
                                      _list = _list.splice(_list.indexOf(oldSource)+1);
                                      _listTo = _listTo.splice(_listTo.indexOf(oldDestination)+1);
                                      for (var p=0; p<_list.length; ++p) {
  
                                          list.push(_list[p]);
                                          listTo.push(_listTo[p])
                                      }
  
                                      browseCopy(list[i], listTo[i], excluded, function(err){
                                          e.emit("cp#complete", err, listTo[i], method);
                                          destination = null
                                      }, list, listTo, i)
                                  })
                              }
  
                          } else {
                              console.error("onRemoved error: som'was wrong ");
                              process.exit(1)
                          }
                      }
docs: 3C.