Add caching

Pulled out the repeated use of request and added a cache
Any logic behind these numbers? Just interested.