A system comprising a mobile computing device and a set of reconfigurable input/output modules comprising at least two input/output modules (202, 204), each input/output module comprising: an attachment mechanism for attaching the module to a plurality of different positions on non-display portions of the computing device; and a wire-free communication element arranged to communicate with at least one of the computing device and another input/output module of the set without needing to be connected to it via a wire, wherein at least one of the at least two input/output modules further comprises an input control for providing user input to the computing device, wherein the computing device is configured to map each user input on an input/output module to a target user input of a program running on the computing device to which the input/output module is attached or on a separate device, to which the computing device is configured to transmit the target user input, the wire-free communication element of at least one of the at least two input/output modules being arranged to communicate with the computing device without needing to be connected to it via a wire, and the wire-free communication element of each input/output module comprising an input control being further arranged to transmit signals indicative of user inputs received via the input control to at least one of the computing device and another one of the at least two input/output modules without needing to be connected to it via a wire, wherein at least one of the at least two input/output modules further comprises a module position sensor arranged to detect a position of the input/output module relative to another input/output module in the set attached to the computing device, and wherein the at least one input/output module comprising the module position sensor is configured to communicate, via its wire-free communication element, the detected relative position to the computing device and wherein the computing device is configure to map the user inputs to the target user inputs using the detected relative position of the at least two input/output modules when attached to the computing device. an attachment mechanism for attaching the module to a plurality of different positions on non-display portions of the computing device; and a wire-free communication element arranged to communicate with at least one of the computing device and another input/output module of the set without needing to be connected to it via a wire, wherein at least one of the at least two input/output modules further comprises an input control for providing user input to the computing device, wherein the computing device is configured to map each user input on an input/output module to a target user input of a program running on the computing device to which the input/output module is attached or on a separate device, to which the computing device is configured to transmit the target user input, the wire-free communication element of at least one of the at least two input/output modules being arranged to communicate with the computing device without needing to be connected to it via a wire, and the wire-free communication element of each input/output module comprising an input control being further arranged to transmit signals indicative of user inputs received via the input control to at least one of the computing device and another one of the at least two input/output modules without needing to be connected to it via a wire, wherein at least one of the at least two input/output modules further comprises a module position sensor arranged to detect a position of the input/output module relative to another input/output module in the set attached to the computing device, and wherein the at least one input/output module comprising the module position sensor is configured to communicate, via its wire-free communication element, the detected relative position to the computing device and wherein the computing device is configure to map the user inputs to the target user inputs using the detected relative position of the at least two input/output modules when attached to the computing device.