simplified upload logic