classes will not implement protocols if they are already implement in a
superclass
added objc headers