usable ARC and non-ARC