Reorganize project with header files