Accept streams instead of files