revrite client lib