(간단한 템플릿/콜백 예제) 요구사항 추가로 인해 template 방식으로 변경