with the testing code split over several files and containing the logic for cache hit/miss of lookup and actual request, i felt it will be much more readable like this. but its copy-paste.