move autorelease before callback