add kmp-extend