a clone of http://opensource.apple.com/source/objc4/