refactor header files