updating client api to be partial function based