add slots and properties