updated getProduct method