tpt++: various commits 859fdece6a84 734368d9128f 774fb8800211 5ab1aa6989b8 d4359184f2c9 ae886048f4f8