docs
improve test
make callbacks called after done