#29 omp implements template method desing pattern for now