updated openMP design, actual code is still in-between implementations