Separated Product into it's own class