generics at least appear to be working now