way to support large files with few memory