added OpenMP support