add onFileUploaded callback