client lib