openmp implemented