docs: function(opt, versor) {
        opt = $.merge(this.viz.config, opt || {});
        var that = this,
            viz = this.viz,
            graph  = viz.graph,
            interp = this.Interpolator,
            animation =  opt.type === 'nodefx'? this.nodeFxAnimation : this.animation;
        //prepare graph values
        var m = this.prepare(opt.modes);
        
        //animate
        if(opt.hideLabels) this.labels.hideLabels(true);
        animation.setOptions($.merge(opt, {
          $animating: false,
          compute: function(delta) {
            graph.eachNode(function(node) { 
              for(var p in m) {
                interp[p](node, m[p], delta, versor);
              }
            });
            that.plot(opt, this.$animating, delta);
            this.$animating = true;
          },
          complete: function() {
            if(opt.hideLabels) that.labels.hideLabels(false);
            that.plot(opt);
            opt.onComplete();
            opt.onAfterCompute();
          }       
        })).start();
      }