added new upload functionality