refresh only if idle