Move impl into header files