moved methods to new ProductMain