Added component template struct