update the base class
update the first KL method
update the second KL method
update the third KL method