Criterion and inherits from same classes as abstract_criterion does