modified device read a little bit, restored device_read and time_module