improve KVSClient