Fixed bug in device_list
Added perform_read