answered why templates go in the header file