replaced id with instancetype for methods that return an instance of the receiving class’s type
now using NS_ENUM for enums
replace literal string macros with NSString const*