make sure tp has contract