re-sync kn.c & kn.h