prepared to add T functions