New Client implementation