correct generics