add kmp and strings