add the dual KL method