removed setImmediate