add DH support