separate include header files for .h and .cpp and treat external dep correctly