add type safe slots and getChildrenFromSlotMethod()