Client-side implementation of Proto protocol