Handles reading & writing to devices