cleaned up ProductMain class