add klist.h which provides linked lists