added userDefinedFile function. This is passed by the user and lets them add fields to the file and/or filter out files by returning undefined rather than the file object