add caching and loading notifications