refactor
product1