modify generics