basic layout for kmp.c