add lfunc.c and lfunc.h