reduce nested parallelization; profiling shows that it is not optimal for the average use case