added unsafe_unretained modifier (iOS 4 support)