improve bg updating