use process.nextTick