Changed implementation to use requests and shelve.