add notes on template method.