signing a contract requires writing