pass the file as a third argument to the callback

Allow for modifying the file directly, such as to concatenate directories, etc. See issue #2 for reasoning