Passing file handles rather than file names enables much easier unit testing
Passing file handles rather than file names enables much easier unit testing