Creating the smart contract