make code compatible with ARC