add LRU cache for resolving data
add expiration to cache-entries
add tests for caching and expiration