add tp function