Upgraded to generics.