Better handle permission errors.
Better handle large files.