generics for CS1644