generated the product model