added Strategy and Template