refactored updating new products to clean state code