added openmp