Added modified protocol and interface implementations.