changes to generics