signing a contract requires a contract