add ksm func