signing a contract requires something to write with