Just exchange :a theory of contracts