add support for mmap read