add Slot struct