generic-client-layer