initializer & MRC & ARC & protocols, delegates & categories