TP framework