add typedef template