Basic client protocol