added more parallelization and achieved a consistent speed up