added pre-processor to avoid the code to be used without ARC enabled