Template Method patter added.