adding objc2 runtime functionality