template and structure