template vs cpp =(