restructured header files