Standard USB uses a master/slave architecture; a host acts as the master device for the entire bus, and a USBdevice acts as the slave. Devices are designed from the start to act in one role or the other – computers are generally set up to be hosts, while printers (for instance) are normally slaves. When a device is plugged into the USB bus, the master device, or host, sets up communications with the device and handles service provisioning (the host's software enables or does the needed data handling such as file managing or other desired kind of data communication or function). The host is responsible for all data transfers over the bus, with the devices only able to signal that they require attention. To transfer data between two devices, from a phone to a printer for instance, the host first reads the data from one device then writes it to the other. This allows the devices to be greatly simplified compared to the host; a mouse, for instance, contains very little logic and relies on the host to do almost all of the work. While the master/slave arrangement works for some devices, there are many devices that might want to act as a master or a slave depending on who else shares the bus. For instance, a computer printer is normally a slave device, but when a USB flash drive of images is plugged into the USB port of the printer with no computer present (or at least turned off) it would be useful for the printer to take on the role of host, allowing it to communicate with the flash drive directly and print images from it. USB On-The-Go introduces the concept that a device can perform both the master and slave roles, and so subtly changes the terminology. With OTG, a device can be either a host when acting as the link master, or aperipheral when acting as the link slave. The choice of whether to be host or peripheral is handled entirely by which end of the cable the device is plugged into. The device connected to the "A" end of the cable at start-up, known as the "A-device", acts as the default host, while the "B" end acts as the default peripheral, known as the "B-device".