add x.c x.h