cleaning up generics usage, part 2 (of 3...)