protocol_handler customization