better file processing