change HasSlots interface