Added a bit more thread level parallelization