refactoring product route