A method of controlling transmission of a wireless signal in a wireless telecommunications network, the wireless telecommunications network including a transmitting node, a receiving node, and an Intelligent Reflective Surface, IRS, wherein the transmitting node includes a processor operating a first neural network that inputs an input bit sequence and outputs the wireless signal and further includes a transmitter to transmit the wireless signal output by the first neural network, the IRS includes a reflective surface for reflecting the wireless signal transmitted by the transmitter of the transmitting node and further includes a processor for applying a phase change to the wireless signal according to a phase shift matrix, and the receiving node includes a receiver for receiving an accumulated wireless signal transmitted by the transmitter of the transmitting node and reflected off the reflective surface of the IRS and further includes a processor operating a second neural network that inputs the received accumulated wireless signal and outputs an output bit sequence, the method comprising the steps of: i) determining a current propagation environment for a transmission between the transmitter and the receiver; ii) simulating a transmission of a first input bit sequence between the transmitting node and the receiving node via the IRS for the current propagation environment, in which the first neural network utilises a first set of neural network weights, the second neural network utilises a second set of neural network weights, and the IRS utilises a first phase shift matrix having a first set of phase shift matrix values, the simulation producing a first output bit sequence; iii) calculating a loss between the first input bit sequence and the first output bit sequence iv) iterating steps ii) and iii) for a plurality of iterations, in which the first set of neural network weights, second set of neural network weights and the first set of phase shift matrix values are updated in each iteration based on the calculated loss of the previous iteration, until a termination criterion is met; and v) causing the transmitting node to use the first set of neural network weights of the final iteration, the receiving node to use the second set of neural network weights of the final iteration, and the IRS to use the first set of phase shift matrix values of the final iteration. i) determining a current propagation environment for a transmission between the transmitter and the receiver; ii) simulating a transmission of a first input bit sequence between the transmitting node and the receiving node via the IRS for the current propagation environment, in which the first neural network utilises a first set of neural network weights, the second neural network utilises a second set of neural network weights, and the IRS utilises a first phase shift matrix having a first set of phase shift matrix values, the simulation producing a first output bit sequence; iii) calculating a loss between the first input bit sequence and the first output bit sequence iv) iterating steps ii) and iii) for a plurality of iterations, in which the first set of neural network weights, second set of neural network weights and the first set of phase shift matrix values are updated in each iteration based on the calculated loss of the previous iteration, until a termination criterion is met; and v) causing the transmitting node to use the first set of neural network weights of the final iteration, the receiving node to use the second set of neural network weights of the final iteration, and the IRS to use the first set of phase shift matrix values of the final iteration.