observe refresh