still implementing automatic parallelization optimization