add tp callback