refine upload