add file_read support