tre function