go with process.nextTick