implemented `Client.read` with tests.