change ordering of updating background cache in more useful way