Changed the completion block to be more flexible. Also removed URL caching.