Update TPM to be more flexible