using promises instead of parallel collections to run mscrs concurrently