add set-immediate
Use setImmediate() to keep callstack clear