add stddef.h for "NULL"