12/26 head first : template method