header file generation