no need for cast `(NSString *)`