avoid redundant data adding due to async fetching