cleaning up generics usage, part 1