rewrote to use mmap and aref
cleanup