template struct adjust