dont use deprecated __proto__
support for generic classes