Actually reading data from the device