So the ideia is like this: ``` contract MyContract { uint mydata; function setData1(uint _data) public { mydata = _data; //normal way (msg.sender pays to store _data in mydata (msg.sender needs to have eth)) } function setData2(uint _data) public { //... //here i want that MyContract address ("address(this)") pay and store _data in mydata //... } function setData3(uint _data) public { mydata = _data; //here i want that MyContract pay the transaction from msg.sender //... } } ``` I know that `setData3()` is possible with gas stations, meta transactions and other approach but these approaches is other addresses to pay for transaction. I want that Contract pay the fee. Is it possible? In `setData2()` is it possible for the contract to save the variable and pay for it in some way? In this scenario, I do not need to save the transaction, just to save the variable in some way.