add beginnings of client library