trying our hand at generics