use setImmediate package as the shim