add gen-dh