ProtocolHandler-based approach