updated getProductString