Pull request for: #394

adding caching for the list of all countries
rewriting/reorganizaing the caching functionalities to one file