refactoring product editor