implemented openmp/multithreading support