fixed alloc, dealloc. Now supporting arc enable/disable