requiring a product