added Template class;