file upload and other changes