remove unnecessary setImmediate wrapper
Lighter implementation