restructure header files inclusion