use modern objc syntax