tp: add register function
update tp