Complete rewrite

Created Product class, setup is now defined at beginning of script.