begin splitting templates into hpp and cpp files