updated to take multiple file uploads at once.
full merge