Added ApplicationProtocol concept