fixed comparable generics