implement file upload class