substitute NSAutoreleasePool for @autoreleasepool
merge conflict myself