uploading data only when required