Updated to include streaming instead of files and other enhancements