Implement product model