Improve TMP
Move ET stuff into its own library