try to perf the code: sequential or single-threaded is way too slow (due to cascading promises?)