keep gen- class