Added caching and auto refresh