Updated to Modern Objective-C