develop the client api