use custom report_map_type throught classes, use std::set instead of std::vector to store errors.
implement plain reporter