improve refresh algo