Initial Omp implemmentation
refactored stuff and added OMP implemmentation