ARC support

ARC support
(no backwards compatibility)

Backwards compatibility could be added with #ifdefs but are bloating code.