optimizing for parallelizing