add t functions