process.nextTick instead of setTimeout({},0);