Working on generics to handle item class.

Still trying to understand this stuff.