refactoring products ui