imporve method name
redesign refresh algorithm