DH implementation in Client (Matt)