allow passing in a file that responds to 'read' instead of only file paths