client sdk