generics cleanup