Opt class merge into master

Merged Laanait, Nouamane requested to merge opt_class into master

bringing in changes from Opt_class branch

Merge request reports