More product model refactoring