update the first KL method
add the second KL method
add the third KL method