use of generic caps in the class