added templating structure