Added better generics.