Updated for ARC support