change default argument
add kmp