work for client library