Enhancement: better generics