add kmp