basic client send and read