add requires_arc