add util.c and util.h