pass data through from attributes rather than directly in the template