split off tp.cc
move headers