Generates the product model