Fleshing out Product class and supports