update  all KL methods

@karlnapf 
I send all the changes at one shot to see if it work or not.
Let me know your suggestion so that I can send PRs separately for KL methods.
same here, no hard-coded numbers please. But also consider putting this into a base class