clean warnings use class generic