added WithUniqueCodeInterface to product