template support implemented