better utilize history API to reduce redundant requests