use setTimeout() instead of process.nextTick(), this will avoid high presure on the event loop