add template method