v0.4.7 setImmediate because recursion