making sense of header files