custom templates can access all extra attributes via "attrs"
don't add 'required' to extra attributes