This will be called for every request. Let's add some caching to this.