improved docs
version and keywords
use setImmediate