This makes use of both the existing interfaces and could use the existing cache file but we'll create a new one and cleanup the old one to avoid issues and use a more consistent name.