using directive as templates