better autorelease pool management, weak references