why use numSubsets here and not numThreads?