perform a contract