non-unicode kmp lib, made interface