add generics parameters