Added some basic caching to improve repeated requests