first pass of parallelization