restruct tp3