The basic techniques for writing device classes and device servers are required by each device server programmer. In certain situations it is however necessary to do things out of the ordinary. For example simple device servers spend all their time in a wait loop waiting for commands across the network. A device server might need to do other things in addition to waiting for commands from clients. This section will look into programming techniques which permit the device server serve more than simply the network.