OMP inplementation