fixed setImmediate