add weak fallback for iOS 4