Protocol client