added new tps, moved tp functions to functions